Introducción al Error HTTP 500 en PrestaShop
El error HTTP 500 (Internal Server Error) es uno de los problemas más frustrantes a los que se enfrentan los administradores de tiendas online en PrestaShop. Cuando este fallo aparece, la pantalla del navegador suele quedarse completamente en blanco o mostrar un mensaje genérico, impidiendo tanto el acceso al panel de administración (Backoffice) como a la tienda (Frontoffice). En la gran mayoría de los casos, este comportamiento está provocado por un fallo crítico en un módulo recién instalado, una actualización fallida o un conflicto de versiones de PHP.
Principales Causas del Error HTTP 500 por Módulos
Identificar la causa raíz es fundamental para aplicar la solución correcta. Las razones más comunes incluyen:
- Incompatibilidad de la versión del módulo con tu versión actual de PrestaShop.
- Errores de sintaxis en el código PHP del módulo tras una modificación manual.
- Falta de permisos de lectura y escritura en las carpetas del módulo.
- Agotamiento de los recursos del servidor (Memory Limit o Max Execution Time) al ejecutar un script del complemento.
Método 1: Activar el Modo Debug para Ver el Error Real
Dado que el error 500 oculta el mensaje real del fallo, el primer paso obligatorio es activar el modo de depuración (Debug) de PrestaShop para visualizar la traza exacta del error.
- Accede a tu servidor mediante un cliente FTP (como FileZilla) o el Administrador de Archivos de tu Hosting.
- Navega hasta la carpeta raíz de tu instalación de PrestaShop.
- Entra en la ruta
config/y edita el archivodefines.inc.php. - Busca la línea que define
_PS_MODE_DEV_y cambia su valor defalseatrue:define('_PS_MODE_DEV_', true); - Guarda los cambios y recarga la página de tu tienda donde aparecía el error 500. Ahora verás una excepción detallada con el nombre del módulo problemático.
Método 2: Desactivar el Módulo Problemático desde la Base de Datos
Si el error te impide acceder al Backoffice para desactivar el módulo defectuoso, puedes hacerlo directamente a través de phpMyAdmin en tu panel de control (cPanel o Plesk).
- Entra en phpMyAdmin y selecciona la base de datos de tu tienda PrestaShop.
- Busca la tabla de módulos (suele llamarse
ps_module, teniendo en cuenta el prefijo de tus tablas). - Utiliza la pestaña 'Buscar' o filtra los resultados para localizar el nombre exacto del módulo que está causando el conflicto.
- Edita el registro correspondiente y cambia el valor de la columna
activede1(activo) a0(inactivo). - Vuelve a tu tienda y desactiva el modo debug cambiando
trueporfalseen el archivodefines.inc.php.
Método 3: Verificar los Permisos de Archivos y Carpetas
A veces, un error 500 ocurre porque el servidor no tiene permisos para ejecutar los archivos del módulo recién subido.
- Conéctate a tu servidor mediante FTP.
- Selecciona la carpeta del módulo ubicado en
modules/nombre_del_modulo. - Asegúrate de que los permisos de las carpetas estén establecidos en 755 y los archivos en 644.
- Verifica si el error se ha solucionado recargando el sitio web.