Introducción al problema de excepciones en Magento
Uno de los dolores de cabeza más comunes para los administradores de tiendas online desarrolladas en Adobe Commerce o Magento es encontrarse con el temido mensaje de excepción al intentar acceder a ciertas rutas o realizar acciones en el backend y frontend. Este fallo suele interrumpir la experiencia del usuario y bloquear la gestión del negocio digital, requiriendo una intervención técnica precisa para devolver la estabilidad al sistema.
Causas principales de la excepción al llamar a la acción
Para solucionar este problema de manera efectiva, es fundamental comprender qué lo provoca. Entre las causas más habituales se encuentran las siguientes:
- Problemas de caché corrupta o desactualizada tras la instalación de un módulo.
- Errores en la compilación de clases de inyección de dependencias (DI).
- Conflictos graves entre extensiones de terceros instaladas mediante Composer.
- Permisos incorrectos en los directorios críticos del sistema de archivos.
Método 1: Limpiar y refrescar la caché y el almacenamiento generado
En la gran mayoría de los casos, los archivos temporales corruptos generan este tipo de excepciones. Debes acceder a tu servidor mediante SSH y ejecutar los comandos oficiales de la consola de Magento para limpiar el sistema.
- Abre tu terminal SSH y conéctate al servidor donde está alojado tu Magento.
- Navega hasta la ruta raíz de tu instalación utilizando el comando
cd /var/www/html/tu-tienda-magento. - Ejecuta el siguiente comando para limpiar la caché:
php bin/magento cache:clean. - Elimina el contenido residual de las carpetas var e generated ejecutando:
rm -rf var/cache/* var/generation/* generated/*.
Método 2: Recompilar la aplicación y actualizar la base de datos
Si la limpieza de caché no ha sido suficiente, es probable que la estructura de clases requiera una recompilación completa debido a cambios recientes en el código o en los módulos.
- Accede nuevamente a la terminal SSH en la raíz de tu proyecto Magento.
- Ejecuta el comando de compilación de producción para regenerar las clases:
php bin/magento setup:di:compile. - A continuación, despliega los contenido estáticos necesarios:
php bin/magento setup:static-content:deploy -f. - Finalmente, verifica el estado de los módulos y actualiza la base de datos con:
php bin/magento setup:upgrade.
Método 3: Verificar y corregir los permisos de archivos y directorios
Magento es muy estricto con los permisos de usuario en el servidor web (como Nginx o Apache). Si los permisos son incorrectos, el sistema no podrá escribir los archivos de excepción necesarios y lanzará errores inesperados.
- Conéctate a tu servidor por medio de SSH con un usuario con privilegios administrativos.
- Ubícate en la raíz de tu tienda online Magento.
- Establece los permisos correctos para los directorios ejecutando:
find var generated pub/static pub/media app/etc -type f -exec chmod 644 {} +. - Establece los permisos correctos para las carpetas ejecutando:
find var generated pub/static pub/media app/etc -type d -exec chmod 755 {} +. - Asegúrate de asignar el propietario correcto del servidor web (ejemplo para Apache/Nginx):
sudo chown -R www-data:www-data ..