Introducción al Error de Excepciones y Caché en Magento
Uno de los problemas más frustrantes a los que se enfrentan los administradores de tiendas online desarrolladas en Magento es la aparición repentina de excepciones en pantalla o el mensaje que exige actualizar la base de datos de forma infinita. Esto suele ocurrir tras una actualización fallida de módulos, problemas de permisos en el servidor o la corrupción de los archivos de caché. En este artículo te mostramos cómo solucionarlo definitivamente.
Principales Causas del Error
- Inconsistencia entre la versión del código fuente y el esquema de la base de datos (setup:upgrade pendiente).
- Permisos de archivos y carpetas incorrectos en el directorio var/ y generated/ (o var/cache/ en versiones anteriores).
- Archivos de configuración XML corruptos o bloqueados.
- Fallo en la compilación de clases o dependencias de Magento.
Método 1: Limpieza de Caché y Regeneración de Archivos Compilados por Consola SSH
El primer paso y el más efectivo para solucionar bloqueos por excepciones de caché es vaciar manualmente el almacenamiento temporal utilizando la línea de comandos de tu servidor.
- Accede a tu servidor mediante SSH utilizando tus credenciales de acceso.
- Navega hasta la raíz de tu instalación de Magento utilizando el comando
cd /ruta/a/tu/magento. - Ejecuta el comando para limpiar la caché y el almacenamiento temporal:
php bin/magento cache:cleanyphp bin/magento cache:flush. - Si el problema persiste, elimina manualmente el contenido de las carpetas de caché y generación con:
rm -rf var/cache/* var/generation/* var/page_cache/* generated/*.
Método 2: Ejecutar la Actualización y Compilación de la Base de Datos
Si el error está relacionado con una discrepancia en las tablas de la base de datos tras instalar extensiones o parches, debes forzar la actualización del sistema.
- Entra nuevamente por SSH a la raíz de tu Magento.
- Ejecuta el comando de actualización del sistema para aplicar cambios pendientes en la base de datos:
php bin/magento setup:upgrade. - A continuación, compila las clases de dependencia del Dependency Injection con el comando:
php bin/magento setup:di:compile. - Finalmente, despliega los contenidos estáticos necesarios ejecutando:
php bin/magento setup:static-content:deploy -f.
Método 3: Corrección de Permisos de Archivos en el Servidor
Magento es muy estricto con los permisos de usuario en Linux. Si el servidor web no puede escribir en las carpetas temporales, se generarán excepciones continuas.
- Accede a tu servidor mediante SSH con privilegios de superusuario (sudo).
- Ubícate en la raíz de tu tienda Magento.
- Aplica los permisos recomendados para directorios ejecutando:
find var generated pub/static pub/media -type d -exec chmod 755 {} +. - Aplica los permisos recomendados para archivos ejecutando:
find var generated pub/static pub/media -type f -exec chmod 644 {} +. - Asigna la propiedad correcta al usuario de tu servidor web (por ejemplo, www-data o apache):
chown -R www-data:www-data ..