🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Solucionar error 500 Internal Server Error en PrestaShop (cPanel y Plesk)

Actualizado el 23 de octubre de 2025

Antes de Empezar: ¿Qué significa realmente este error?

Cuando tu tienda PrestaShop muestra el temido error 500 Internal Server Error, no te asustes. Es un mensaje genérico que indica que algo falló en el servidor, pero no te dice exactamente qué. Es como si el motor de tu coche se parara: sabes que hay un problema, pero necesitas abrir el capó para ver qué pieza falla.

La buena noticia es que, en la mayoría de los casos, este error se puede solucionar sin necesidad de ser un experto en programación. Solo necesitas seguir un proceso lógico de descarte y tener acceso a tu panel de control (cPanel, Plesk o Syspanel).

[INFO] El error 500 es un problema del lado del servidor, no de tu ordenador ni de tu navegador. Por eso, aunque recargues la página mil veces, el error seguirá ahí hasta que corrijas la causa en el hosting.


¿Por qué aparece el error 500 en PrestaShop?

Antes de lanzarnos a solucionar, es útil entender las causas más comunes. Esto te ahorrará tiempo porque podrás ir directo al origen del problema.

Las razones más frecuentes son:

  • Archivos con permisos incorrectos (normalmente después de subir archivos por FTP).
  • Un archivo .htaccess corrupto o con reglas incompatibles.
  • Un módulo o plugin recién instalado que genera un conflicto.
  • La versión de PHP de tu hosting no es compatible con tu versión de PrestaShop.
  • Falta de memoria PHP (límite de memoria agotado).
  • Un tema mal configurado o incompleto.
  • Errores en la base de datos (aunque esto suele dar otro tipo de error, a veces deriva en 500).

Ahora sí, vamos a lo práctico. Te voy a guiar paso a paso, primero con soluciones rápidas y luego con soluciones más profundas. Trabajaremos tanto en cPanel como en Plesk, y mencionaré alternativas para otros paneles.


Paso 1: Activar el modo debug de PrestaShop (La clave para todo)

Esta es la técnica más poderosa que existe para solucionar error 500 prestashop. PrestaShop tiene un modo de depuración oculto que, al activarlo, te muestra el error real en pantalla en lugar del genérico "Error 500". Sin este paso, estarías trabajando a ciegas.

¿Cómo activar el modo debug?

Necesitas acceder a los archivos de tu tienda. Puedes hacerlo por FTP (con FileZilla, por ejemplo) o por el administrador de archivos de tu panel.

  1. Localiza la carpeta raíz de tu PrestaShop (normalmente es public_html, httpdocs o htdocs).
  2. Busca el archivo llamado config/defines.inc.php.
  3. Ábrelo con un editor de texto (el bloc de notas sirve, pero mejor algo como Notepad++).
  4. Busca esta línea de código:

define('_PS_MODE_DEV_', false);

  1. Cámbiala por:

define('_PS_MODE_DEV_', true);

  1. Guarda el archivo y súbelo de nuevo si lo editaste localmente.

Ahora recarga tu tienda. Verás un mensaje de error mucho más descriptivo, algo como:

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes) in /home/usuario/public_html/...

Ese mensaje te dirá exactamente qué está fallando. Por ejemplo, si habla de "memory size", es un problema de memoria. Si menciona un archivo de un módulo concreto, ya sabes quién es el culpable.

[TIP] Anota el mensaje de error que veas. Te será útil para buscar soluciones específicas o para enviárselo a tu soporte técnico si lo necesitas.


Paso 2: Soluciones Rápidas (Los sospechosos habituales)

Si el modo debug no te muestra nada claro o prefieres probar soluciones directas, aquí tienes las más efectivas.

2.1. Regenerar el archivo .htaccess

El archivo .htaccess es como el directorio de tráfico de tu tienda. Si se corrompe, todo se bloquea.

En cPanel:

  1. Entra en el Administrador de Archivos de cPanel.
  2. Navega a la carpeta raíz de tu PrestaShop.
  3. Busca el archivo .htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en la configuración del Administrador de Archivos.
  4. Descarga una copia de seguridad a tu ordenador (por si acaso).
  5. Elimina el archivo .htaccess del servidor.
  6. Ve a tu tienda y recarga. PrestaShop debería regenerar el archivo automáticamente.

En Plesk:

  1. Accede al Administrador de Archivos en el panel de Plesk.
  2. Ve a tu dominio y a la carpeta httpdocs (o la raíz de tu tienda).
  3. Mismo proceso: descarga una copia y luego elimina el .htaccess.
  4. Recarga la tienda para que se regenere.

[WARNING] Si eliminas el .htaccess y la tienda sigue dando error, no pasa nada. Es un archivo que se regenera solo. Pero si la tienda funcionaba bien y tras eliminarlo sigue fallando, el problema no era este archivo.

2.2. Revisar los permisos de archivos y carpetas

Los permisos incorrectos son otra causa muy común del cpanel error 500. Cada archivo y carpeta tiene un "código" que dice quién puede leer, escribir o ejecutar.

  • Las carpetas deben tener permisos 755.
  • Los archivos deben tener permisos 644.
  • El archivo config/settings.inc.php (en versiones antiguas) o los archivos de configuración en app/config/ (en versiones nuevas) deben tener permisos 444 o 644 (dependiendo de la configuración del servidor).

Cómo cambiarlos en cPanel:

  1. En el Administrador de Archivos, selecciona todos los archivos y carpetas de tu tienda.
  2. Haz clic en "Permisos" en la barra superior.
  3. Establece 0755 para carpetas y 0644 para archivos. Si no puedes hacerlo de forma masiva, hazlo por partes.

Cómo cambiarlos en Plesk:

  1. En el Administrador de Archivos, selecciona los archivos.
  2. Haz clic en "Cambiar permisos" o "Chmod".
  3. Introduce los valores numéricos (755 para carpetas, 644 para archivos).

[TIP] Si usas FTP, FileZilla tiene una opción para cambiar permisos masivamente: clic derecho sobre la carpeta raíz > "Permisos de archivos" > marca "Recursivo en subcarpetas".

2.3. Aumentar el límite de memoria PHP

Si el error menciona "memory exhausted" o "allowed memory size", este es tu arreglo.

En cPanel:

  1. Busca la sección "Seleccionar versión de PHP" o "MultiPHP Manager".
  2. Haz clic en "Opciones de PHP" o "Switch to PHP Options".
  3. Busca memory_limit y cámbialo a 256M o 512M.
  4. Guarda los cambios.

En Plesk:

  1. Ve a "Herramientas y Configuración" > "Configuración de PHP".
  2. Selecciona tu dominio.
  3. Busca memory_limit y cámbialo a 256M o 512M.
  4. Aplica los cambios.

Si no tienes acceso a estas opciones, puedes intentar añadir una línea en el archivo .htaccess:

php_value memory_limit 512M

O crear un archivo llamado php.ini en la raíz de tu tienda con el siguiente contenido:

memory_limit = 512M
max_execution_time = 300

Paso 3: La solución del módulo o tema conflictivo

Esta es una causa muy común si el error apareció justo después de instalar o actualizar algo.

3.1. Desactivar módulos problemáticos

No puedes desactivar módulos desde el panel de administración si tu tienda no carga. Pero puedes hacerlo directamente desde la base de datos o renombrando la carpeta del módulo.

Método rápido (renombrar carpeta):

  1. Ve a la carpeta /modules de tu PrestaShop.
  2. Localiza el módulo que sospechas que causa el problema (si no lo sabes, prueba con los más recientes).
  3. Cámbiale el nombre, por ejemplo, de moduloproblema a moduloproblema_OFF.
  4. Recarga tu tienda.

Método desde la base de datos (más limpio):

  1. Entra en phpMyAdmin (desde cPanel o Plesk).
  2. Busca la base de datos de tu tienda.
  3. Localiza la tabla ps_module (el prefijo ps_ puede variar).
  4. Busca el módulo problemático y cambia su estado de 1 (activado) a 0 (desactivado).

[WARNING] No renombres carpetas de módulos que son esenciales para PrestaShop, como ps_mainmenu, ps_searchbar o el módulo de pago que uses, o tu tienda podría romperse aún más.

3.2. Restablecer el tema por defecto

Si el error tiene que ver con tu tema, puedes forzar a PrestaShop a usar el tema por defecto.

  1. En la base de datos, busca la tabla ps_shop_url o ps_configuration.
  2. Busca la variable PS_THEME_NAME y cámbiala al nombre del tema por defecto (generalmente classic en PrestaShop 1.7+ o default-bootstrap en versiones 1.6).
  3. Limpia la caché de PrestaShop. Puedes hacerlo eliminando los archivos de la carpeta /var/cache (en PS 1.7+) o /cache (en versiones antiguas).

Paso 4: Verificar la versión de PHP

PrestaShop es exigente con las versiones de PHP. Si tu hosting cambió la versión automáticamente (algo que pasa más de lo que crees), tu tienda puede dejar de funcionar.

  • PrestaShop 1.6 necesita PHP 5.6 o 7.0 (no superior a 7.1).
  • PrestaShop 1.7 funciona bien con PHP 7.1 a 7.4.
  • PrestaShop 8.x necesita PHP 7.2 o superior (recomendado 8.0 o 8.1).

En cPanel:

  1. Busca "Seleccionar versión de PHP" o "MultiPHP Manager".
  2. Cambia la versión a una compatible con tu PrestaShop.
  3. Guarda los cambios y recarga tu tienda.

En Plesk:

  1. Ve a tu dominio.
  2. Haz clic en "Configuración de PHP".
  3. Cambia la versión de PHP en el menú desplegable.
  4. Aplica los cambios.

[INFO] Si tu tienda es antigua y tu hosting te obliga a usar PHP 8.x, es muy probable que tengas problemas. Considera actualizar PrestaShop o cambiar de hosting.


Paso 5: Soluciones avanzadas (Cuando nada de lo anterior funciona)

Si has llegado hasta aquí, el problema es más profundo. Vamos a revisar los registros del servidor.

5.1. Revisar los logs de error

Los logs son el diario secreto de tu servidor. Ahí está la respuesta.

En cPanel:

  1. Ve a "Métricas" > "Errores" o "Registros de errores".
  2. Busca los errores más recientes relacionados con tu dominio.
  3. Anota los mensajes que veas.

En Plesk:

  1. Ve a "Sitios web y dominios".
  2. Haz clic en "Registros" o "Logs".
  3. Busca el archivo de logs de error del dominio.

5.2. Comprobar la integridad de los archivos

A veces, una subida de archivos incompleta o una actualización fallida deja archivos corruptos.

  1. Descarga una copia de tu PrestaShop desde tu panel de administración o desde el área de cliente de tu hosting.
  2. Compara los archivos de tu servidor con los de la copia limpia.
  3. Sobrescribe los archivos que estén dañados o incompletos.

[WARNING] No sobrescribas la carpeta config ni app/config con archivos de una versión diferente, o podrías perder la configuración de tu tienda.

5.3. Contactar con el soporte del hosting

Si has probado todo y el error persiste, puede que el problema esté en el servidor mismo (permisos de usuario, configuración de Apache o Nginx, etc.). En este punto, es hora de contactar con tu proveedor de hosting.

Cómo pedir ayuda efectivamente:

  • Menciona el mensaje de error exacto que viste al activar el modo debug.
  • Di qué pasos has probado ya.
  • Especifica tu versión de PrestaShop y la de PHP.
  • Si usas Syspanel (antes HestiaCP), recuerda que el acceso es a través del puerto 2106 y que la estructura de archivos puede ser ligeramente diferente (suele estar en /home/usuario/web/dominio/public_html).

Preguntas Frecuentes (FAQ)

¿El error 500 puede dañar mi tienda o mis datos?

No, el error 500 no borra datos ni daña la base de datos. Es un bloqueo temporal del servidor. Tus productos, clientes y pedidos siguen ahí, solo que no se pueden mostrar.

¿Cuánto tiempo tarda en solucionarse?

Depende de la causa. Las soluciones rápidas (.htaccess, permisos) pueden tardar 5 minutos. Si es un módulo conflictivo, quizás 30 minutos. Si es un problema del servidor, puede tardar horas si depende del soporte del hosting.

¿Puedo evitar que vuelva a pasar?

  • Haz copias de seguridad periódicas (archivos y base de datos).
  • Actualiza PrestaShop y los módulos con cuidado, uno a uno.
  • No instales módulos de fuentes no oficiales.
  • Mantén un registro de los cambios que haces en tu tienda.
  • Revisa los logs de error de vez en cuando para detectar problemas antes de que se conviertan en errores 500.

¿Qué hago si el modo debug no me muestra nada?

A veces, el error 500 es tan genérico que ni el modo debug lo captura. En ese caso, revisa los logs del servidor (Paso 5.1) y verifica si hay algún error de PHP fatal registrado.

¿Y si mi hosting usa Syspanel?

Si tu hosting utiliza Syspanel (el antiguo HestiaCP), el proceso es muy similar al de cPanel o Plesk. Accede por el puerto 2106 (por ejemplo, https://tu-dominio:2106), busca el Administrador de Archivos y sigue los mismos pasos. La estructura de carpetas suele ser: /home/usuario/web/dominio/public_html.


Resumen Final

El error 500 prestashop es frustrante, pero en el 90% de los casos se soluciona con paciencia y siguiendo el orden lógico que te he explicado.

Recuerda el orden de ataque:

  1. Activa el modo debug para ver el error real.
  2. Prueba con el .htaccess y los permisos.
  3. Aumenta la memoria PHP.
  4. Desactiva módulos sospechosos.
  5. Revisa la versión de PHP.
  6. Analiza los logs del servidor.
  7. Contacta con tu soporte técnico.

Y lo más importante: no desesperes y haz copias de seguridad antes de tocar nada. Con esta guía, tendrás tu tienda online funcionando de nuevo en poco tiempo.

[TIP] Si logras solucionar el error, desactiva el modo debug volviendo a poner define('_PS_MODE_DEV_', false); en el archivo defines.inc.php. Dejarlo activo en producción puede exponer información sensible de tu servidor a los visitantes.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel