Errores en PrestaShop 9: cómo encontrar la causa y solucionarlos
Un error 500, una pantalla en blanco o un Back Office roto no son un diagnóstico. Esta guía explica cómo localizar la causa real revisando PHP, módulos, Symfony, tema, caché, base de datos, permisos y servidor.
Antes de modificar nada: identificar el error
Antes de borrar archivos, reinstalar módulos o restaurar copias conviene reconstruir qué ha ocurrido y en qué momento empezó el problema.
Cuándo empezó
No es lo mismo un error que aparece después de actualizar PrestaShop, actualizar un módulo, cambiar PHP, modificar el tema o mover la tienda de servidor.
Qué se cambió
Conviene revisar cualquier cambio reciente en core, módulos, tema, overrides, plantillas, PHP, base de datos, servidor, reglas de URL, cron o integraciones externas.
Front Office o Back Office
Hay que determinar si el fallo afecta solo al Front Office, solo al Back Office, a ambos o únicamente a una página o acción concreta.
Error constante o intermitente
Los errores intermitentes pueden apuntar a límites de memoria, carga, servicios externos, cron o determinados datos.
Esta guía forma parte de nuestra guía técnica sobre PrestaShop 9 .
Activar el modo debug en PrestaShop 9
PrestaShop oculta normalmente los detalles técnicos de los errores para no mostrarlos a visitantes.
Durante el diagnóstico puede activarse temporalmente el modo debug.
Desde consola
Para activarlo:
php bin/console prestashop:debug on
Para consultar su estado:
php bin/console prestashop:debug
Para desactivarlo:
php bin/console prestashop:debug off
Desde Back Office
Cuando el Back Office sigue accesible puede activarse desde la configuración de rendimiento para obtener información adicional.
Cuando no funciona el Back Office
Si el Back Office no carga, puede ser necesario activar temporalmente el modo desarrollo desde la configuración correspondiente de PrestaShop para poder visualizar la excepción real.
Desactivar debug después del diagnóstico
El modo debug no debería mantenerse activo en producción, porque puede mostrar rutas, trazas e información interna.
Comprobar el entorno con la consola
PrestaShop 9 incorpora comandos útiles para conocer el entorno real.
php bin/console about
Este comando permite comprobar información como versión de PrestaShop, versión PHP, entorno, estado del debug y rutas de caché o logs.
Es especialmente útil cuando existe duda sobre qué PHP está utilizando realmente la tienda o dónde está escribiendo los logs.
Dónde buscar información del error
Logs de PrestaShop y Symfony
Los logs pueden contener la excepción original aunque el navegador solo muestre un mensaje genérico.
Logs PHP
Un fatal error puede producirse antes de que PrestaShop pueda registrar correctamente la excepción, por lo que conviene comprobar también PHP o PHP-FPM.
Logs Apache o Nginx
Un problema de servidor web, permisos o configuración puede aparecer únicamente en los logs de Apache o Nginx.
Consola JavaScript y Network
Cuando una interfaz carga parcialmente o un botón deja de funcionar, conviene revisar consola JavaScript, XHR, fetch, códigos HTTP y recursos CSS o JS que devuelvan errores.
Error 500 en PrestaShop 9
Un error HTTP 500 es un síntoma, no un diagnóstico.
Error PHP
Una incompatibilidad puede provocar clases inexistentes, métodos incompatibles, tipos incorrectos o dependencias ausentes.
Módulo incompatible
Un módulo puede funcionar en una versión anterior y fallar después de cambiar PrestaShop o PHP.
Conviene revisar código, hooks, servicios, controladores, overrides y dependencias.
Puedes ampliar esta comprobación en módulos compatibles con PrestaShop 9 .
Servicio Symfony
PrestaShop 9 incorpora cambios importantes en Symfony. Los desarrollos que utilizan servicios, controladores, rutas o inyección de dependencias pueden requerir adaptación.
Memoria o límites
Un proceso puede fallar por memoria, tiempo de ejecución o límites del servidor aunque el código sea correcto.
Para revisar este punto consulta requisitos técnicos de PrestaShop 9 .
Permisos y archivos
Archivos incompletos, propietarios incorrectos o directorios sin permisos suficientes también pueden provocar errores internos.
Pantalla blanca o página que no carga
Una pantalla blanca suele indicar que existe un error que no está siendo mostrado.
La secuencia recomendada es:
- comprobar el código HTTP;
- activar temporalmente debug;
- revisar logs;
- reproducir el error;
- localizar archivo, módulo o componente;
- corregir la causa.
No debería asumirse automáticamente que una pantalla blanca implica falta de memoria.
Back Office roto después de actualizar a PrestaShop 9
Después de una actualización hay que comprobar Front Office, Back Office, módulos y operaciones reales de la tienda.
Módulos
Un módulo puede haber quedado desactivado, incompatible, parcialmente actualizado o con cambios pendientes en base de datos.
PHP
Debe verificarse que la versión PHP esté soportada por la versión exacta de PrestaShop instalada.
Caché
Después de cambios estructurales puede ser necesario reconstruir la caché, pero esto no debe sustituir al diagnóstico del error original.
Base de datos
Una actualización interrumpida puede dejar diferencias entre código, esquema de base de datos y módulos.
Update Assistant
Si la actualización no termina correctamente, conviene revisar logs y estado del proceso antes de realizar cambios manuales.
Si estás preparando el salto desde PrestaShop 8, consulta cómo actualizar PrestaShop 8 a PrestaShop 9 .
Errores provocados por módulos
Desactivar no significa siempre eliminar el problema
Un módulo puede haber dejado overrides, archivos, configuración, servicios o cambios en base de datos.
Compatibilidad con PHP
Un módulo antiguo puede contener código incompatible con versiones recientes de PHP.
Compatibilidad con Symfony
Los módulos que utilizan servicios, controladores o inyección de dependencias deben revisarse especialmente.
Overrides y servicios
Si el error aparece en una clase modificada, conviene comprobar override, clase padre, firmas de métodos, servicios y dependencias.
Errores del tema y Hummingbird
Un problema que aparece después de cambiar de tema no tiene por qué estar en el core.
Plantillas Smarty
Una plantilla antigua puede sobrescribir completamente una versión más reciente y perder cambios necesarios.
Bootstrap 4 y Bootstrap 5
Un componente puede generar HTML aparentemente correcto y fallar por clases o atributos pertenecientes a otra versión de Bootstrap.
JavaScript
Conviene revisar errores de consola, selectores inexistentes, plugins antiguos, dependencias de jQuery y eventos.
Overrides del child theme
Cuando el problema aparece tras actualizar el tema padre, cada plantilla sobrescrita debe considerarse candidata a revisión.
Puedes ampliar esta parte en temas PrestaShop 9 y Hummingbird .
Problemas de caché en PrestaShop 9
PrestaShop y Symfony mantienen distintas capas de caché.
Limpiar mediante consola
php bin/console cache:clear
Este comando puede ser necesario después de determinados cambios en configuración, servicios, rutas o plantillas.
Caché dev y prod
Hay que tener en cuenta qué entorno se está utilizando y qué caché se está regenerando.
Cuándo no debemos culpar a la caché
Si el mismo error vuelve inmediatamente después de limpiarla, probablemente la caché no sea la causa.
La secuencia correcta es: identificar el error, corregir la causa, limpiar cuando corresponda y volver a validar.
Errores de base de datos
Columnas o tablas ausentes
Puede indicar una actualización incompleta, instalación incompleta de módulo o diferencia entre código y base de datos.
SQL de módulos
Antes de crear manualmente una columna hay que averiguar qué versión del módulo debería haber realizado ese cambio.
Actualizaciones incompletas
Una actualización interrumpida puede dejar código nuevo con una base de datos todavía antigua.
Copias de seguridad antes de corregir
Antes de modificar esquema o datos de producción debe existir una copia recuperable.
Error después de cambiar PHP
Si el problema aparece justo después de cambiar PHP, conviene comprobar:
- compatibilidad con la versión de PrestaShop;
- compatibilidad de módulos;
- código del tema;
- extensiones PHP;
- versión utilizada por web, CLI y cron.
Cambiar nuevamente PHP sin leer el error puede ocultar la causa sin resolverla.
Errores de permisos y propietario de archivos
Conviene comprobar propietario, grupo, permisos efectivos, usuario que ejecuta PHP y directorios donde PrestaShop necesita escribir.
Aplicar permisos 777 de forma generalizada
no es una metodología de diagnóstico.
Problemas de URLs y error 404
URLs amigables
Si una URL funcionaba antes de modificar rutas, hay que revisar configuración y reglas de reescritura.
Apache y .htaccess
En Apache, el archivo .htaccess
y las reglas de reescritura pueden afectar al enrutamiento.
Nginx
Nginx no interpreta .htaccess.
Las reglas deben configurarse en el propio servidor.
Rutas Symfony
Para revisar rutas registradas puede utilizarse:
php bin/console debug:router
Para inspeccionar servicios Symfony:
php bin/console debug:container
Cómo aislar un error paso a paso
- reproducir el problema;
- anotar URL, acción y momento;
- comprobar código HTTP;
- activar debug si procede;
- revisar logs;
- identificar archivo o componente;
- relacionarlo con cambios recientes;
- comprobar módulo, tema, PHP o servicio implicado;
- realizar una única modificación controlada;
- limpiar caché si corresponde;
- repetir exactamente la misma prueba;
- comprobar que no aparecen errores nuevos.
Cambiar cinco cosas al mismo tiempo impide saber cuál solucionó realmente el problema.
Qué no hacer al diagnosticar PrestaShop 9
- borrar archivos sin copia;
- modificar producción sin saber qué falla;
- aplicar permisos 777 a toda la tienda;
- desinstalar módulos aleatoriamente;
- ejecutar SQL sin comprobar la estructura;
- cambiar PHP sin revisar compatibilidad;
- restaurar archivos antiguos sobre una base nueva sin analizar versiones;
- mantener debug activo en producción.
Cuándo restaurar una copia de seguridad
Restaurar puede ser la decisión correcta cuando una actualización ha quedado interrumpida, existen múltiples cambios incompletos o se desconoce exactamente qué archivos fueron modificados.
Archivos y base de datos deben pertenecer al mismo punto temporal.
Checklist de diagnóstico PrestaShop 9
- código HTTP;
- modo debug;
- logs PrestaShop y Symfony;
- logs PHP;
- logs del servidor web;
- versión exacta de PrestaShop;
- PHP real;
- cambios recientes;
- módulos implicados;
- tema y overrides;
- caché;
- base de datos;
- permisos;
- espacio disponible;
- consola JavaScript;
- peticiones Network;
- cron e integraciones externas;
- reproducción del fallo.
Relación con otros problemas de PrestaShop 9
Si el error aparece durante una actualización: actualizar PrestaShop 8 a PrestaShop 9 .
Si la tienda procede de una instalación antigua: migrar PrestaShop 1.7 a PrestaShop 9 .
Si la excepción apunta a una extensión: módulos compatibles con PrestaShop 9 .
Si afecta a Front Office, plantillas o JavaScript: temas PrestaShop 9 y Hummingbird .
Si existen dudas sobre PHP, memoria o servidor: requisitos técnicos de PrestaShop 9 .
Auditoría de errores PrestaShop
Un error puntual puede tener una causa muy concreta, pero una tienda que acumula problemas después de varias actualizaciones puede necesitar una revisión más amplia.
En JUSARA LAB analizamos logs, código, módulos, tema, configuración y comportamiento reproducible antes de aplicar cambios.
El objetivo no es únicamente eliminar el mensaje de error, sino corregir la causa y dejar la tienda en un estado mantenible.