Habilitar los registros de errores de PHP en el alojamiento web
Cómo configurar la visualización de errores y el logging para aplicaciones PHP.
Analizar periódicamente los logs de PHP es fundamental para detectar errores, advertencias y bugs antes de que afecten a la experiencia del usuario. Se recomienda encarecidamente mantener siempre activado el registro de errores, especialmente durante las fases de desarrollo y pruebas.
1. Habilitar los logs de PHP mediante .htaccess
La forma más eficiente de activar la visualización y el registro de errores en un entorno de alojamiento web es añadir directivas específicas al archivo .htaccess ubicado en la raíz de tu sitio.
Configuración básica:
php_value display_errors On
php_value display_startup_errors On
Configuración avanzada (recomendada):
php_flag display_errors On
php_flag display_startup_errors On
php_flag log_errors On
php_flag ignore_repeated_errors Off
php_flag ignore_repeated_source Off
php_flag track_errors On
php_value error_reporting -1
php_value error_log /home/ваш_логин/public_html/php-errors.log
Una vez añadidas estas líneas, los errores de PHP:
- Aparecerán directamente en pantalla (cuando
display_errorsesté activo) - Quedarán registrados en el archivo
php-errors.logindicado
2. Habilitar errores dentro de un script PHP
Si solo necesitas depurar un script concreto, puedes activar la notificación de errores directamente en el archivo PHP añadiendo el siguiente código al comienzo del script:
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
ini_set('error_reporting', E_ALL);
3. Configuración mediante php.ini
Si tu entorno de alojamiento permite el acceso a un archivo php.ini personalizado, puedes gestionar estos ajustes de forma global:
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
error_log = /home/ваш_логин/public_html/php-errors.log
Registro para tareas Cron
Los errores generados por scripts que se ejecutan mediante Cron o desde la línea de comandos (CLI) no aparecen en los logs estándar del servidor web. Para capturar esta salida, redirige el resultado de la ejecución hacia un archivo de log dedicado en tu comando Cron:
/usr/local/bin/php /home/ваш_логин/public_html/site.ru/script.php &>> /home/ваш_логин/logs/cron.log
Es una buena práctica crear un directorio /logs separado en tu carpeta de inicio para almacenar de forma segura todos los logs del sistema y relacionados con Cron.
Buenas prácticas
- Modo desarrollo: mantén
display_errors = Onpara obtener retroalimentación inmediata mientras programas. - Sitios en producción: desactiva siempre
display_errorsen los sitios en producción para evitar que se filtren rutas sensibles a los visitantes. Asegúrate de quelog_errors = Onpermanezca activo para la monitorización en segundo plano. - Mantenimiento: revisa periódicamente tu archivo
php-errors.logpara detectar problemas ocultos que no necesariamente rompen la página, pero sí afectan al rendimiento. - Caché: tras actualizar tu configuración de PHP, vacía la caché del navegador y, si procede, limpia la caché de OPCache para que los cambios surtan efecto.
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!