¿Por qué aparece el Error 500 en PrestaShop tras actualizar PHP?
El error 500 o Error Interno del Servidor es uno de los problemas más frustrantes en PrestaShop, especialmente cuando ocurre justo después de actualizar la versión de PHP en el hosting. Esto suele deberse a incompatibilidades entre los módulos instalados, la versión de PrestaShop y la nueva versión de PHP, o bien a directivas de configuración obsoletas en el archivo .htaccess.
Causas principales del fallo
- Módulos de terceros o themes incompatibles con la nueva versión de PHP (por ejemplo, pasar de PHP 7.4 a PHP 8.1 o 8.2).
- Extensiones de PHP requeridas que están deshabilitadas en el servidor.
- Errores en la sintaxis de archivos de configuración personalizados.
Método 1: Activar el modo debug para identificar el error exacto
- Accede a los archivos de tu tienda mediante FTP o el Administrador de Archivos de tu cPanel.
- Navega hasta la ruta
config/y abre el archivodefines.inc.php. - Busca la línea que define
_PS_MODE_DEV_y cambia su valor defalseatrue. - Guarda los cambios y recarga tu tienda o el panel de administración en el navegador. El error genérico 500 ahora debería mostrar una excepción específica que indica qué módulo o archivo está causando el conflicto.
Método 2: Cambiar temporalmente la versión de PHP o actualizar módulos
- Si el modo debug apunta a un módulo específico incompatible, entra al panel de administración de PrestaShop (si tienes acceso) o desactiva el módulo desde la base de datos (tabla
ps_modulecambiando el campoactivea 0). - Alternativamente, desde el selector de PHP de tu hosting (PHP Selector o MultiPHP), regresa a la versión anterior de PHP (ej. PHP 7.4) para recuperar el acceso a la tienda.
- Actualiza PrestaShop y todos tus módulos a sus últimas versiones compatibles con PHP 8.x antes de volver a realizar la actualización de PHP en el servidor.
Método 3: Revisar el archivo .htaccess y los permisos
- A veces, las reglas de reescritura de URLs en el archivo
.htaccessgeneran conflictos con los nuevos módulos de Apache/PHP. - Renombra tu archivo
.htaccessactual ahtaccess_old. - Entra al panel de PrestaShop en
Parámetros de la Tienda > Tráfico & SEOy vuelve a generar el archivo .htaccess guardando la configuración de URLs amigables. - Verifica también que los permisos de carpetas sean 755 y los de archivos 644 para evitar bloqueos por seguridad del servidor.