Introducción
El Error 500 (Internal Server Error) en PrestaShop es un fallo genérico del servidor que suele aparecer de forma repentina, especialmente después de instalar, actualizar o configurar un nuevo módulo. Cuando esto ocurre, tanto el panel de administración (backoffice) como la tienda (frontoffice) pueden quedar inaccesibles, mostrando una pantalla blanca o un mensaje de error genérico. Afortunadamente, este problema tiene solución si se siguen los pasos adecuados para identificar la causa raíz.
¿Cuáles son las causas del Error 500 por módulos en PrestaShop?
Las razones más habituales por las cuales un módulo provoca un Error 500 en tu tienda online incluyen:
- Incompatibilidad de la versión del módulo con tu versión actual de PrestaShop o de PHP.
- Errores de sintaxis en el código PHP del módulo debido a una mala descarga o edición.
- Falta de permisos en los archivos y carpetas del directorio del módulo.
- Límites de memoria RAM agotados en el servidor al intentar ejecutar el script del complemento.
Método 1: Activar el Modo Debug de PrestaShop para ver el error real
Para saber exactamente qué módulo está rompiendo tu tienda, necesitas activar el modo de depuración para que el sistema muestre la excepción exacta en lugar de la pantalla en blanco.
- Accede a los archivos de tu servidor mediante un cliente FTP o el Administrador de Archivos de tu Hosting.
- Navega hasta la carpeta raíz de tu instalación de PrestaShop.
- Entra en el directorio
configy localiza el archivodefines.inc.php. - Edita el archivo y busca la siguiente línea de código:
define('_PS_MODE_DEV_', false); - Cambia el valor
falseportruepara que quede así:define('_PS_MODE_DEV_', true); - Guarda los cambios y recarga tu página web o el backoffice. Ahora aparecerá una traza detallada con el error exacto y el nombre del módulo problemático.
Método 2: Desactivar el módulo defectuoso vía FTP o Base de Datos
Una vez identificado el módulo gracias al Modo Debug, el siguiente paso es desactivarlo sin necesidad de entrar al panel de administración.
- Accede nuevamente a tu servidor mediante FTP.
- Dirígete a la carpeta
modulesdentro del directorio raíz de PrestaShop. - Busca la carpeta correspondiente al módulo que está generando el conflicto.
- Renombra temporalmente la carpeta del módulo (por ejemplo, añade
_oldal final, comonombremoduloreto_old). Esto desactivará automáticamente el módulo de forma segura. - Comprueba si tu tienda vuelve a funcionar con normalidad. Si es así, el problema era definitivamente ese módulo.
Método 3: Desactivar el módulo desde phpMyAdmin
Si renombrar la carpeta no soluciona el acceso o prefieres hacerlo desde la base de datos, puedes cambiar su estado de activación ejecutando una consulta SQL.
- Entra en phpMyAdmin desde el panel de control de tu hosting.
- Selecciona la base de datos de tu tienda PrestaShop.
- Haz clic en la pestaña SQL superior.
- Ejecuta la siguiente consulta para desactivar el módulo (asegúrate de cambiar
nombre_modulopor el nombre real de la tabla de tu módulo):UPDATE ps_module SET active = 0 WHERE name = 'nombre_modulo'; - Haz clic en Continuar y limpia la caché de PrestaShop eliminando el contenido de la carpeta
var/cache/en tu servidor.