Síntomas
Tras completar una instalación nueva de PrestaShop 9.x (por ejemplo, sobre un subdominio de desarrollo) o al activar ciertos módulos preinstalados con la tienda, el backoffice deja de cargar y devuelve un error HTTP 500. Desde la tienda no se puede navegar por ninguna opción del panel de administración y, al intentar acceder, el navegador queda en blanco o con el mensaje genérico de error del servidor.
Causa real
PrestaShop 9.x incluye de serie módulos oficiales (como ps_checkout) que requieren una versión mínima de PHP 8.2 o superior. Si el dominio del hosting está ejecutándose con una versión de PHP anterior (8.0, 8.1, etc.), el módulo no se puede compilar y rompe todo el backoffice.
En el log de errores del backoffice aparece una traza similar a esta:
Archivo de log:
var/logs/prod-YYYY-MM-DD.logMensaje clave: Symfony ErrorHandler FatalError "Compile Error: Null can not be used as a standalone type"
Ruta afectada:
modules/ps_checkout/vendor/webmozart/assert/src/Assert.php
El "Compile Error: Null can not be used as a standalone type" es la pista definitiva: la sintaxis null como tipo independiente (standalone null type) solo se introdujo en PHP 8.2, así que cualquier versión anterior falla al cargar el módulo.
Cómo solucionarlo
1. Cambiar la versión de PHP del dominio a 8.2 o superior
Desde cPanel, accede a Software > Select PHP Version (o MultiPHP Manager en los servidores administrados) y selecciona el dominio afectado. Cambia la versión a PHP 8.2 como mínimo y guarda.
2. Limpiar la caché de PrestaShop
Después de cambiar la versión de PHP, borra el contenido de var/cache/prod por FTP o desde el Administrador de Archivos de cPanel, para forzar la recompilación de contenedores y clases.
3. Verificar el backoffice
Entra al backoffice y navega por varias opciones del menú (Pedidos, Catálogo, Módulos). Si todo carga sin errores, el problema está resuelto.
Cuándo contactar con soporte
Si al cambiar la versión de PHP el dominio deja de servir la tienda en el frontend, si no ves disponible PHP 8.2 en tu plan, o si el error 500 persiste tras limpiar la caché, abre un ticket con soporte indicando:
Dominio afectado y ruta de la tienda (raíz o subdominio)
Versión exacta de PrestaShop (9.x.x)
Versión de PHP que tenías antes del fallo y versión a la que has cambiado
Las últimas líneas del log
var/logs/prod-YYYY-MM-DD.log
Recomendaciones adicionales
Instalaciones nuevas de PrestaShop 9.x: crea el dominio o subdominio ya con PHP 8.2 o superior antes de descargar PrestaShop.
Migraciones desde PrestaShop 8.x o anterior: revisa los requisitos de PHP de todos los módulos de terceros y oficiales antes de activarlos, no solo el core de PrestaShop.
Desarrollo y producción en distinta versión: asegúrate de que el subdominio de desarrollo y el dominio de producción usan la misma versión de PHP para evitar sorpresas al pasar la tienda a producción.
