¿Qué es el Error 500 en PrestaShop y por qué ocurre?
El Error 500 (Internal Server Error) es una respuesta genérica que indica que algo ha fallado en el servidor, pero este no puede proporcionar detalles específicos debido a la configuración de seguridad por defecto. En PrestaShop, este fallo suele bloquear tanto el panel de administración (Back Office) como la tienda visible al cliente (Front Office).
Principales causas del Error 500
Identificar la causa raíz es fundamental para aplicar la solución correcta. Entre las razones más comunes se encuentran:
- Incompatibilidad o fallo crítico en un módulo recién instalado o actualizado.
- Agotamiento del límite de memoria RAM asignada a PHP (Memory Limit).
- Versión de PHP incompatible con la versión actual de PrestaShop.
- Errores de sintaxis en archivos personalizados o modificaciones en el archivo
.htaccess. - Permisos incorrectos en archivos y carpetas del servidor.
Método 1: Activar el Modo Debug de PrestaShop para ver el error real
Como el Error 500 oculta el mensaje real, el primer paso indispensable es activar el modo de depuración para ver la traza exacta de la excepción.
- Accede a 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
/config/y busca el archivodefines.inc.php. - Edita el archivo y busca la siguiente línea:
define('_PS_MODE_DEV_', false); - Cambia el valor
falseportrue:define('_PS_MODE_DEV_', true); - Guarda los cambios y recarga tu página web. Ahora en lugar del Error 500 verás el error detallado de PHP, Smarty o de la base de datos.
Método 2: Ampliar el límite de memoria PHP (Memory Limit)
PrestaShop requiere una cantidad considerable de recursos, especialmente si utilizas muchos módulos o catálogos extensos. Si el error se debe a falta de memoria, debes incrementarla.
- Accede al panel de control de tu hosting (cPanel, Plesk, etc.).
- Busca la herramienta "Seleccionar versión de PHP" o "MultiPHP INI Editor".
- Modifica la directiva
memory_limity asígnale un valor superior, por ejemplo,512Mo1024M. - Si tu servidor lo permite, también puedes editar el archivo
.htaccessen la raíz de PrestaShop añadiendo la siguiente línea al inicio:php_value memory_limit 512M
Método 3: Desactivar módulos defectuosos desde la Base de Datos
Si tras activar el modo debug descubres que el error proviene de un módulo incompatible, pero no puedes acceder al Back Office para desinstalarlo, puedes hacerlo directamente a través de phpMyAdmin.
- Entra en phpMyAdmin desde tu panel de hosting y selecciona la base de datos de tu tienda PrestaShop.
- Haz clic en la pestaña SQL o busca la tabla llamada
ps_module(el prefijops_puede variar según tu instalación). - Ejecuta la siguiente consulta SQL para desactivar el módulo problemático (reemplaza 'nombre_modulo' por el nombre real de la carpeta del módulo):
UPDATE ps_module SET active = 0 WHERE name = 'nombre_modulo'; - Limpia la caché de PrestaShop borrando el contenido de las carpetas
/var/cache/prod/y/var/cache/dev/mediante FTP.