Introducción al problema de caché en Magento 2
Uno de los dolores de cabeza más comunes para los administradores de tiendas e-commerce desarrolladas en Magento 2 ocurre al intentar limpiar o refrescar la caché del sistema desde la línea de comandos o el panel de administración. A menudo, el proceso se interrumpe lanzando un error de excepción crítico que deja la plataforma inaccesible temporalmente.
Causas principales de la excepción de caché
Este fallo suele estar provocado por diversas razones técnicas relacionadas con el almacenamiento temporal y los permisos del servidor:
- Permisos incorrectos en las carpetas
var/ygenerated/. - Inconsistencias en el sistema de archivos tras una actualización de módulos.
- Problemas de concurrencia o saturación en Redis o Varnish.
- Archivos corruptos dentro del directorio
var/cache.
Método 1: Limpieza manual y corrección de permisos por SSH
La forma más efectiva de solucionar este error es eliminar la caché directamente desde el servidor utilizando la terminal y restableciendo los permisos adecuados.
- Accede a tu servidor mediante SSH con un usuario con privilegios sudo o el propietario de la aplicación.
- Navega hasta la raíz de tu instalación de Magento:
cd /var/www/html/tu-tienda-magento - Elimina los directorios problemáticos ejecutando el siguiente comando:
rm -rf var/cache/* var/page_cache/* generated/code/* - Asegúrate de asignar los permisos correctos a los archivos de Magento:
find . -type d -exec chmod 755 {} +yfind . -type f -exec chmod 644 {} + - Dale permisos de ejecución al binario de Magento:
chmod +x bin/magento
Método 2: Limpiar la caché y recompilar la inyección de dependencias
Si el problema persiste tras borrar los archivos de forma manual, es probable que la inyección de dependencias se haya corrompido. Debes forzar la compilación y limpieza mediante el CLI.
- Ejecuta el comando para limpiar los tipos de caché:
bin/magento cache:clean - Limpia el almacenamiento de caché completo:
bin/magento cache:flush - Ejecuta el proceso de compilación del código de Magento:
bin/magento setup:di:compile - Finalmente, despliega los contenidos estáticos necesarios:
bin/magento setup:static-content:deploy -f