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

Cómo resolver el error 500 en PrestaShop (cPanel y otros)

Actualizado el 22 de octubre de 2025

¡Tranquilo! Ver el temido error 500 en PrestaShop puede ser frustrante, especialmente si estás en medio de una actualización o configuración. Pero no te preocupes, soy tu técnico de soporte amigable y voy a guiarte paso a paso para que puedas solucionar el error 500 en PrestaShop de forma sencilla, tanto si usas cPanel como si trabajas con otros paneles como Syspanel (HestiaCP).

Este error, también conocido como PrestaShop internal server error, es un código genérico que significa que algo salió mal en el servidor, pero no te da detalles exactos. La buena noticia es que, en la mayoría de los casos, la causa es fácil de identificar y arreglar. Vamos a ello.

¿Qué causa el error 500 en PrestaShop?

Antes de ponernos manos a la obra, es útil saber qué lo provoca. Las causas más comunes son:

  • Archivos .htaccess corruptos o incorrectos.
  • Módulos o temas incompatibles (sobre todo después de una actualización).
  • Problemas de permisos de archivos y carpetas.
  • Límites de memoria PHP excedidos (memory_limit).
  • Errores en el archivo de configuración config/settings.inc.php (en versiones antiguas) o en .env.
  • Conflictos con la versión de PHP.
  • Cache o sesiones corruptas.

Vamos a resolverlo desde lo más simple a lo más avanzado.


Paso 1: Activar el modo debug de PrestaShop (imprescindible)

Cuando aparece el error 500 prestashop, la pantalla se queda en blanco o muestra solo "500 Internal Server Error". Para saber exactamente qué falla, debemos activar el modo debug.

Si tienes acceso a cPanel o FTP:

  1. Conéctate a tu hosting mediante FTP o el administrador de archivos de cPanel.
  2. Busca la carpeta raíz de tu PrestaShop (normalmente public_html o www).
  3. Encuentra el archivo config/defines.inc.php.
  4. Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
  5. Busca esta línea:
    define('_PS_MODE_DEV_', false);
    
  6. Cámbiala a:
    define('_PS_MODE_DEV_', true);
    
  7. Guarda el archivo y recarga tu tienda. Ahora verás un mensaje de error detallado (por ejemplo, "Fatal error: Allowed memory size of..."). Anota ese error.

[TIP] Si no encuentras defines.inc.php, en versiones modernas de PrestaShop 1.7+ el archivo se llama config/autoload.php o config/defines.inc.php. Si no aparece, crea un archivo vacío llamado config/defines.inc.php con ese contenido.

Si usas Syspanel (HestiaCP):

  1. Accede a Syspanel a través del puerto 2106 (ejemplo: https://tudominio.com:2106).
  2. Ve a "Archivos" -> "Administrador de archivos".
  3. Navega hasta la carpeta public_html o la raíz de tu tienda.
  4. Edita el archivo config/defines.inc.php como se indicó arriba.
  5. Guarda los cambios.

[WARNING] Una vez resuelto el error, vuelve a poner define('_PS_MODE_DEV_', false); para que los errores no se muestren a tus clientes.


Paso 2: Solucionar según el mensaje de error

Ahora que tienes el error detallado, atacamos la causa. Aquí tienes las soluciones más comunes:

Caso A: Error de memoria (Allowed memory size)

Si ves algo como "Allowed memory size of 134217728 bytes exhausted", tu PHP necesita más memoria.

Solución en cPanel:

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

Solución en Syspanel (HestiaCP):

  1. En Syspanel (puerto 2106), ve a "Web" -> "PHP-FPM".
  2. Selecciona el dominio de tu tienda.
  3. Edita el campo memory_limit y pon 512M.
  4. Guarda y reinicia PHP.

[INFO] Si no tienes acceso a estas opciones, pide a tu proveedor de hosting que aumente el límite de memoria.

Caso B: Error en un módulo o tema

Si el error menciona un archivo de un módulo (por ejemplo, /modules/nombremodulo/...), ese módulo está causando el problema.

Solución temporal (desactivar módulo):

  1. Conéctate a tu base de datos mediante phpMyAdmin (en cPanel) o desde Syspanel (en "Bases de datos" -> "phpMyAdmin").
  2. Busca la tabla ps_module (el prefijo puede ser diferente, como prestashop_module).
  3. Localiza el módulo problemático por su nombre y cambia su estado de 1 a 0 (activo a inactivo).
  4. Si no sabes cuál es, puedes truncar (vaciar) la tabla ps_cache y ps_session para forzar la regeneración.

Alternativa más segura:

  • Renombra la carpeta del módulo en /modules/ (por ejemplo, de nombremodulo a nombremodulo_backup). Esto lo desactivará automáticamente.

Caso C: Error en .htaccess

Un archivo .htaccess corrupto es una causa frecuente del PrestaShop internal server error.

Solución:

  1. Conéctate por FTP o administrador de archivos.
  2. Ubica el archivo .htaccess en la raíz de tu tienda.
  3. Renómbralo a .htaccess_old (para tener un respaldo).
  4. Ve al panel de administración de PrestaShop (si puedes acceder) y ve a "Configuración" -> "SEO y URLs".
  5. Haz clic en "Guardar" sin cambiar nada. Esto regenerará el .htaccess.
  6. Si no puedes acceder al panel, crea un archivo .htaccess nuevo con el contenido básico:
# START PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
# END PrestaShop

[WARNING] Si no sabes qué escribir, mejor renombra el viejo y deja que PrestaShop lo regenere solo al guardar en el panel.

Caso D: Permisos incorrectos

Los archivos y carpetas deben tener permisos específicos para que PrestaShop funcione.

Permisos correctos:

  • Carpetas: 755
  • Archivos: 644
  • Archivos como config/settings.inc.php o config/defines.inc.php: 644 (nunca 777)

Cómo corregirlos en cPanel:

  1. Selecciona todos los archivos y carpetas de la raíz.
  2. Haz clic en "Permisos" y pon 755 para carpetas y 644 para archivos.
  3. Aplica cambios recursivamente.

En Syspanel (HestiaCP):

  1. En el administrador de archivos, selecciona la carpeta raíz.
  2. Haz clic derecho -> "Permisos".
  3. Marca "Recursivo" y establece 755 para directorios, 644 para archivos.

Paso 3: Soluciones avanzadas (si lo anterior no funciona)

Si aún tienes el error 500 prestashop, prueba estas opciones:

3.1. Actualizar la versión de PHP

PrestaShop 1.7 necesita PHP 7.2 o superior (recomendado 7.4 o 8.0). Si tienes PHP 5.6, actualiza.

  • En cPanel: "Seleccionar versión de PHP".
  • En Syspanel: "Web" -> "PHP-FPM" y cambia la versión.

3.2. Limpiar caché manualmente

  1. Elimina la carpeta /var/cache/ (en PrestaShop 1.7) o /cache/ (en versiones antiguas).
  2. También borra el contenido de /cache/smarty/ (todo menos el archivo index.php).

3.3. Deshabilitar todos los módulos no esenciales

Si no puedes acceder al panel, desde la base de datos:

  • En phpMyAdmin, ejecuta esta consulta SQL:
    UPDATE ps_module SET active = 0 WHERE id_module > 0;
    
    (Reemplaza ps_ por tu prefijo real).

Luego, ve reactivando uno por uno desde el panel de administración.

3.4. Verificar el archivo de configuración

En versiones antiguas (1.6 y anteriores), el archivo config/settings.inc.php contiene los datos de conexión a la base de datos. Si está dañado, el error 500 aparece.

  • Asegúrate de que los datos (servidor, usuario, contraseña, base de datos) sean correctos.
  • Si lo editas, hazlo con cuidado, no cambies las comillas.

Preguntas frecuentes (FAQ)

¿Por qué aparece el error 500 solo en algunas páginas?

Suele ser por un módulo específico o por un problema de memoria en páginas con muchos productos. Activa el modo debug para identificar la página exacta.

¿Puedo perder datos al solucionar el error 500?

No, siempre que no borres la base de datos. Los pasos que te doy son seguros. Siempre haz una copia de seguridad antes de modificar archivos.

¿Qué hago si no tengo acceso a cPanel ni a Syspanel?

Pide a tu proveedor de hosting que active el modo debug o que revise los logs del servidor. También puedes pedirles que aumenten el memory_limit.

¿El error 500 puede deberse a un ataque?

Es posible, pero poco común. Si después de solucionarlo vuelve a aparecer, revisa si tienes archivos extraños en la carpeta modules o uploads. Escanea con un plugin de seguridad.

¿Syspanel (HestiaCP) tiene alguna particularidad?

Sí, recuerda que el acceso a Syspanel es a través del puerto 2106. Allí puedes gestionar archivos, bases de datos y PHP-FPM. Las soluciones son las mismas que en cPanel, solo cambia la interfaz.


Resumen rápido para resolver el error 500 en PrestaShop

  1. Activa el modo debug para ver el error exacto.
  2. Aumenta la memoria PHP a 256M o 512M.
  3. Desactiva módulos problemáticos (renombra su carpeta o desde la base de datos).
  4. Regenera el .htaccess (renómbralo y guarda en el panel).
  5. Corrige permisos (755 carpetas, 644 archivos).
  6. Actualiza PHP a una versión compatible.
  7. Limpia la caché manualmente.

[TIP] Si después de todo esto el error persiste, contacta a tu proveedor de hosting. El error 500 puede ser por un problema del servidor (como un reinicio o una configuración de Apache/Nginx). Ellos pueden revisar los logs del servidor para darte más pistas.

Espero que esta guía te haya sido útil. Recuerda que el error 500 prestashop es molesto pero casi siempre tiene solución. Si tienes más dudas, déjalas en los comentarios o consulta con tu equipo de soporte. ¡Buena suerte!

¿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