Introducción al Error 500 en PrestaShop
Uno de los problemas más temidos por cualquier administrador de una tienda online basada en este CMS es el Error 500 (Internal Server Error). Este fallo genérico impide tanto el acceso de los clientes al front-office como la gestión del back-office, bloqueando por completo las ventas y la operativa del negocio.
Afortunadamente, el Error 500 no es un fallo sin solución, sino un aviso de que algo ha fallado a nivel de servidor o de código PHP, pero sin especificar el motivo exacto por motivos de seguridad.
Causas Principales del Error 500
Antes de aplicar cualquier solución, es importante conocer qué suele desencadenar este comportamiento en PrestaShop:
- Incompatibilidad de una versión de PHP con un módulo o el núcleo de PrestaShop.
- Errores críticos de sintaxis o excepciones en PHP tras actualizar un módulo.
- Agotamiento de los recursos del servidor (Límite de memoria RAM o tiempo de ejecución excedido).
- Permisos de archivos y carpetas incorrectos en el servidor web (Apache o Nginx).
Método 1: Activar el Modo Depuración (Debug Mode) para Diagnosticar
Para solucionar el Error 500, el primer paso indispensable es ver el mensaje de error real en lugar de la pantalla blanca o genérica.
- Accede a los archivos de 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 el directorio
configy edita el archivodefines.inc.php. - Busca la línea que define el modo debug y cámbiala de
falseatrue:define('_PS_MODE_DEV_', true);. - Guarda los cambios y recarga tu página web o el panel de administración. Ahora verás una traza detallada del error (stack trace) que indica exactamente qué archivo y línea están fallando.
Método 2: Cambiar la Versión de PHP o Aumentar los Límites
Si el error se produce tras cambiar de versión de PHP en tu cPanel o Plesk, es muy probable que algún módulo no sea compatible.
- Entra en tu panel de control de hosting (cPanel/Plesk) y busca la herramienta Selector de PHP o MultiPHP.
- Asegúrate de utilizar una versión estable y recomendada para tu versión de PrestaShop (por ejemplo, PHP 7.4 o 8.1 según la versión exacta del CMS).
- En las opciones de configuración de PHP (PHP Options), incrementa los siguientes valores para evitar el agotamiento de recursos:
memory_limit = 256Mmax_execution_time = 300post_max_size = 64M - Guarda los cambios y comprueba si tu tienda vuelve a estar operativa.
Método 3: Desactivar el Módulo Problemático desde la Base de Datos
Si gracias al Modo Debug identificaste que un módulo específico causa el fallo, pero no puedes entrar al backoffice para desactivarlo, puedes hacerlo directamente en la base de datos.
- Accede a phpMyAdmin desde tu panel de hosting.
- Selecciona la base de datos de tu tienda PrestaShop.
- Haz clic en la pestaña SQL y ejecuta la siguiente consulta para desactivar el módulo (reemplaza 'nombre_modulo' por el nombre técnico real):
UPDATE ps_module SET active = 0 WHERE name = 'nombre_modulo'; - Borra la caché de PrestaShop eliminando el contenido de las carpetas
var/cache/prod/yvar/cache/dev/mediante FTP. - Desactiva el modo depuración volviendo a poner
falseen el archivodefines.inc.phpuna vez que todo funcione correctamente.