Activer les journaux d'erreurs PHP sur l'hébergement web

Comment configurer l'affichage des erreurs et la journalisation pour les applications PHP.

Analyser régulièrement les logs PHP est indispensable pour détecter les erreurs, les avertissements et les bugs avant qu'ils n'affectent l'expérience utilisateur. Il est vivement recommandé de toujours garder la journalisation des erreurs activée, en particulier pendant les phases de développement et de test.

1. Activation des logs PHP via .htaccess

La façon la plus efficace d'activer l'affichage et la journalisation des erreurs dans un environnement d'hébergement web consiste à ajouter des directives spécifiques au fichier .htaccess situé à la racine de votre site.

Configuration de base :

php_value display_errors On
php_value display_startup_errors On

Configuration avancée (recommandée) :

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

Une fois ces lignes ajoutées, les erreurs PHP vont :

  • S'afficher directement à l'écran (lorsque display_errors est activé)
  • Être enregistrées dans le fichier php-errors.log spécifié

2. Activation des erreurs dans un script PHP

Si vous n'avez besoin de déboguer qu'un script précis, vous pouvez activer la remontée d'erreurs directement dans le fichier PHP en ajoutant le code suivant au début du script :

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
ini_set('error_reporting', E_ALL);

3. Configuration via php.ini

Si votre environnement d'hébergement donne accès à un fichier php.ini personnalisé, vous pouvez gérer ces paramètres de façon globale :

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

Journalisation pour les tâches Cron

Les erreurs générées par des scripts exécutés via Cron ou en ligne de commande (CLI) n'apparaissent pas dans les logs standard du serveur web. Pour capturer cette sortie, redirigez le résultat d'exécution vers un fichier de log dédié dans votre commande Cron :

/usr/local/bin/php /home/ваш_логин/public_html/site.ru/script.php &>> /home/ваш_логин/logs/cron.log

Il est recommandé de créer un répertoire /logs dédié dans votre dossier personnel afin de stocker tous les logs système et liés aux tâches Cron de façon sécurisée.

Bonnes pratiques

  • Mode développement : gardez display_errors = On pour obtenir un retour immédiat pendant le développement.
  • Sites en production : désactivez toujours display_errors sur les sites en ligne pour éviter que des informations de chemin sensibles ne soient exposées aux visiteurs. Veillez à ce que log_errors = On reste actif pour la surveillance en arrière-plan.
  • Maintenance : consultez régulièrement votre fichier php-errors.log pour détecter des problèmes discrets qui n'interrompent pas forcément la page mais dégradent les performances.
  • Cache : après avoir mis à jour vos paramètres PHP, videz le cache de votre navigateur et, le cas échéant, purgez l'OPCache pour que les modifications prennent effet.

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter