-
Comment activer les logs d'erreur PHP
1
septembre 29th, 2010PHPIl peut être pratique d’obtenir des logs d’erreur détaillés en provenance de PHP. Corriger les plus petits de ces bugs, même une NOTICE, peut optimiser votre code de manière non négligeable.
Editer le fichier php.ini (sur Debian, dans une installa
tion par défaut, le fichier php.ini chargé pour Apache2 se trouve là /etc/php5/apache2/php.ini)
Il y a souvent plusieurs php.ini, pensez à modifier celui dont vous avez besoin (sur Debian toujours, vous pouvez faire un locate php.ini pour trouver la liste des fichiers portant ce nom. Pour savoir comment installer locate, cliquez ici.)Localisez la ligne
display_errors
Pour activer les logs PHP
display_errors=On
Pour désactiver les logs PHP
display_errors=Off
Pour le niveau d’erreurs, localisez la ligne
error_reporting
Voici les options disponibles, combinables entre elles
; E_ALL - Tous les erreurs et warnings, n'inclue pas E_STRICT ; E_ERROR buy generic viagra - Erreurs fatales ; E_RECOVERABLE_ERROR - Erreurs presque fatales ; E_WARNING - Erreurs non fatales ; E_PARSE - Erreurs de compilation/parsing ; E_NOTICE - Notices d'execution (ce sont des warnings qui proviennent la plupart du temps d'une erreur dans votre code, mais il est possible que ce soit intentionnel (utiliser une variable non initialisée, ...) ; E_STRICT - Notices d'execution, l'activer pour obtenir des suggestions de modification de votre code par PHP afin d'assurer une meilleure interopérabilité ; E_CORE_ERROR - Erreurs fatales qui surviennent pendant le démarrage de PHP ; E_CORE_WARNING - Warnings (erreurs non fatales) qui surviennent pendant le démarrage de PHP; ; E_COMPILE_ERROR - Erreurs fatales à la compilation ; E_COMPILE_WARNING - Erreurs non fatales à la compilation ; E_USER_ERROR - Messages d'erreur générés par l'utilisateur ; E_USER_WARNING - Warnings générés par l'utilisateur ; E_USER_NOTICE - Notices générées par l'utilisateur Quelques exemples ; - Affiche toutes les erreurs, à l'exception des notices et warnings standards ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Affiche toutes les erreurs, à l'exception des notices ; ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT ; ; - Affiche seulement les erreurs ; ;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
Pour préciser dans quel fichier les logs doivent s’écrire, localiser la ligne
error_log
et la changer pour par exemple
error_log=/var/log/php5.log
ou encore pour écrire dans le fichier syslog
error_log = syslog
Enfin, une fonction PHP très pratique est la fonction
log_error
Celle-ci va vous permettre d’écrire dans le fichier de log précisé plus haut au lieu de faire des affichages complets pour débuguer votre code.
Elle s’utilise tout simplement:
log_error("message à envoyer dans les logs");Tags: erreur, error, error_log, Logs, log_error, notice, php, warning
1 responses to “Comment activer les logs d'erreur PHP” 
-
Quand on développe des outils ou des sites qui vont être amenés à être utilisé en prod. par d’autres personnes ou par un nombre important d’internautes, on se rend vite compte de l’importance du log des erreurs. Pour ce qui est des outils la « révélation » vient à nous lorsqu’un collaborateur vient vous signaler un bug, mais qu’il n’a pas eu le temps de consulter le message d’erreur ! ^^
Merci donc pour ce récapitulatif !
Mickael janvier 7th, 2012 à 13:05