¿Qué es el error 'Exception printing is disabled' en Magento?
Cuando administras una tienda de comercio electrónico basada en Magento 2, uno de los mensajes más frustrantes que puedes encontrar en el frontend o backend es el aviso genérico que indica que la impresión de excepciones está deshabilitada (Exception printing is disabled for this website), acompañado de un número de informe único. Por defecto, Magento oculta los stack traces detallados por razones de seguridad en el entorno de producción, lo que dificulta enormemente la depuración de errores críticos de PHP o fallos en módulos.
Causas principales de este error en Magento
Este comportamiento es una medida de seguridad nativa de la plataforma. Las causas más comunes que desencadenan este aviso incluyen:
- Un error fatal de PHP o una excepción no capturada en un módulo o tema personalizado.
- Falta de permisos en archivos o directorios críticos dentro del sistema de archivos de Magento.
- Problemas temporales o de configuración en la conexión con la base de datos o servicios externos como Redis o Varnish.
- Fallos durante el proceso de compilación o despliegue de contenido estático.
Método 1: Habilitar la impresión de excepciones renombrando el archivo de configuración
La forma más rápida y directa para ver el error real que está ocurriendo en tu instalación de Magento es activar el modo de depuración renombrando el archivo de reporte predeterminado.
- Conéctate a tu servidor mediante SSH utilizando tus credenciales de acceso.
- Navega hasta el directorio raíz de tu instalación de Magento:
cd /var/www/html/tu-tienda-magento - Accede a la carpeta de configuración:
cd pub/ - Renombra el archivo
error_report_status.xml.sampleaerror_report_status.xmlo busca la carpetaapp/etcdonde se gestionan los reportes de error. - Busca dentro de
pub/errors/el archivo llamadolocal.xml.sample(dependiendo de la versión) y cámbialo alocal.xml, o asegúrate de que la directiva permita mostrar los errores.
Método 2: Cambiar Magento al Modo Desarrollador (Developer Mode)
Si estás intentando solucionar errores en un entorno de pruebas o staging, lo ideal es cambiar el modo de ejecución de Magento a developer, lo cual habilitará automáticamente la visualización de errores en pantalla.
- Abre tu terminal SSH y dirígete al directorio raíz de Magento.
- Ejecuta el siguiente comando CLI de Magento para comprobar el modo actual:
bin/magento deploy:mode:show - Si se encuentra en modo producción (production), cambia al modo desarrollador ejecutando:
bin/magento deploy:mode:set developer - Limpiar la caché del sistema para aplicar los cambios de inmediato con:
bin/magento cache:cleanybin/magento cache:flush
Método 3: Revisar los registros de errores (Error Logs) en el servidor
Si no puedes cambiar el modo de la tienda o prefieres no alterar la configuración pública, puedes consultar el reporte exacto generado en el sistema de archivos utilizando el número de informe que aparece en pantalla (por ejemplo: Report ID: 1234567890).
- Accede a la carpeta de registros dentro de tu proyecto Magento:
cd var/report/ - Lista los archivos recientes ordenados por fecha:
ls -lt - Abre el archivo cuyo nombre coincida con el ID del reporte utilizando un editor como nano o cat:
cat var/report/1234567890 - Analiza las líneas del stack trace para identificar exactamente qué archivo, clase o módulo PHP está provocando la excepción y procede a corregirlo o desactivarlo.