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_errors esté activo)
  • Quedarán registrados en el archivo php-errors.log indicado

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 = On para obtener retroalimentación inmediata mientras programas.
  • Sitios en producción: desactiva siempre display_errors en los sitios en producción para evitar que se filtren rutas sensibles a los visitantes. Asegúrate de que log_errors = On permanezca activo para la monitorización en segundo plano.
  • Mantenimiento: revisa periódicamente tu archivo php-errors.log para 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!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos