Introducción al Error 500 en PrestaShop por Módulos
El temido Error 500 (Internal Server Error) es uno de los problemas más comunes y frustrantes a los que se enfrentan los administradores de tiendas online basadas en PrestaShop. A menudo, este fallo se desencadena tras instalar, actualizar o configurar un módulo defectuoso o incompatible con la versión de PHP o del CMS. Como se trata de un error genérico del servidor, PrestaShop no muestra inicialmente el motivo exacto del fallo, lo que dificulta su diagnóstico.
En este artículo técnico te mostraremos el procedimiento exacto para identificar qué módulo está causando el conflicto y cómo desactivarlo o solucionarlo paso a paso para que tu e-commerce vuelva a funcionar con normalidad.
Causas Principales del Error 500 por Módulos
- Incompatibilidad del código del módulo con la versión actual de PHP (por ejemplo, código diseñado para PHP 7.4 ejecutándose en PHP 8.1 o superior).
- Errores de sintaxis o fallos de programación introducidos en una actualización reciente del módulo.
- Conflictos con otros módulos instalados o con el tema (plantilla) activo.
- Falta de permisos correctos en las carpetas y archivos del módulo dentro del servidor.
Método 1: Activar el Modo Debug de PrestaShop para Ver el Error Exacto
Para solucionar el problema, primero debemos saber qué módulo está fallando. El Modo Debug revelará el mensaje de error exacto en pantalla.
- Accede a los archivos de tu servidor mediante un cliente FTP (como FileZilla) o el Administrador de Archivos de tu Hosting.
- Navega hasta la ruta de tu tienda y abre la carpeta
config/. - Busca el archivo llamado
defines.inc.phpy edítalo. - Busca la línea que contiene
define('_PS_MODE_DEV_', false);y cámbiala atrue:define('_PS_MODE_DEV_', true);. - Guarda los cambios y recarga la página de tu tienda o el panel de administración donde ocurría el error 500. Ahora verás una excepción detallada con el nombre de la clase o archivo del módulo problemático.
Método 2: Desactivar el Módulo Problemático vía FTP o Administrador de Archivos
Una vez identificado el módulo gracias al Modo Debug, el siguiente paso es desactivarlo si no puedes acceder al Backoffice.
- Conéctate a tu servidor por FTP o ve al Administrador de Archivos de tu cPanel.
- Entra en la carpeta
modules/de tu instalación de PrestaShop. - Localiza la carpeta correspondiente al módulo que está generando el conflicto (por ejemplo,
modules/tu_modulo_problematico/). - Renombra la carpeta añadiendo un sufijo, por ejemplo:
tu_modulo_problematico_off. Esto forzará a PrestaShop a desactivar el módulo automáticamente al no encontrar la ruta principal. - Comprueba si tu tienda vuelve a cargar correctamente. Si es así, el problema estaba localizado.
Método 3: Desactivar el Módulo desde la Base de Datos (phpMyAdmin)
Si renombrar la carpeta no surte efecto completo o necesitas que el registro en la base de datos refleje el cambio, puedes desactivarlo directamente mediante SQL.
- Accede a 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 y ejecuta la siguiente consulta (asegúrate de cambiar
tu_modulopor el nombre real de la carpeta del módulo):UPDATE ps_module SET active = 0 WHERE name = 'tu_modulo'; - Recuerda verificar si el prefijo de tus tablas es
ps_o si utiliza uno personalizado (por ejemplo,kq7_module) y ajusta la consulta en consecuencia. - Una vez solucionado o eliminado el módulo defectuoso, no olvides volver a desactivar el Modo Debug cambiando
define('_PS_MODE_DEV_', false);en el archivoconfig/defines.inc.phppor cuestiones de seguridad y rendimiento.