¿Qué es el Error 500 en PrestaShop y por qué ocurre?
El Error 500 (Internal Server Error) es una respuesta genérica del servidor que indica que algo ha fallado, pero no especifica qué. En PrestaShop, este fallo suele estar relacionado con fallos en módulos incompatibles, problemas de permisos en los archivos del servidor, errores de sintaxis en archivos PHP personalizados o problemas con la versión de PHP tras una actualización.
Causas principales del Error 500 en PrestaShop
- Incompatibilidad de un módulo recién instalado o actualizado.
- Agotamiento del límite de memoria RAM asignada a PHP (Memory Limit).
- Versión de PHP no compatible con tu versión de PrestaShop.
- Permisos incorrectos en archivos y carpetas del servidor (deben ser 755 para carpetas y 644 para archivos).
- Errores en la base de datos tras una migración o modificación.
Método 1: Activar el Modo Debug para ver el error real
Como el Error 500 oculta el problema real, el primer paso obligatorio es activar el modo de depuración (debug) para ver el mensaje exacto de la excepción.
- 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 la carpeta
configy busca el archivodefines.inc.php. - Abre el archivo con un editor de código y busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cambia el valor
falseportruepara que quede así:define('_PS_MODE_DEV_', true); - Guarda los cambios y vuelve a cargar tu tienda online en el navegador. En lugar de la página en blanco o el error genérico, ahora verás un mensaje detallado con el origen exacto del error.
Método 2: Aumentar el Límite de Memoria PHP
Muchos errores 500 ocurren porque PrestaShop se queda sin memoria durante la ejecución de scripts pesados.
- Accede al panel de control de tu hosting (cPanel o Plesk).
- Busca la herramienta de selección de versión de PHP o entra en el archivo
php.ini. - Modifica o añade las siguientes directivas para ampliar los recursos:
memory_limit = 256Mmax_execution_time = 300 - Guarda los cambios y comprueba si tu tienda vuelve a funcionar con normalidad.
Método 3: Desactivar módulos problemáticos desde la base de datos
Si el error comenzó tras instalar un módulo y no puedes acceder al backoffice para desinstalarlo, puedes hacerlo directamente desde phpMyAdmin.
- Entra en phpMyAdmin desde tu panel de hosting y selecciona la base de datos de tu PrestaShop.
- Busca la tabla llamada
ps_module(el prefijops_puede variar según tu configuración). - Localiza el módulo que causa el conflicto utilizando la columna
name. - Edita el campo
activede ese módulo y cambia su valor de1a0para desactivarlo. - Guarda los cambios, borra la caché de PrestaShop si es posible y comprueba que el sitio web haya recuperado la estabilidad.