Lorsqu'une application Web est exécutée, différents acteurs peuvent écrire dans des fichiers journaux (en anglais : log files) afin d'y consigner, par exemple, les détails d'une erreur.
Dans cette fiche :
Selon les configurations des serveurs et de votre application, les fichiers journaux peuvent porter un nom du genre :
Des exemples de chemins sont donnés plus bas.
Les serveurs HTTP tels Apache et Nginx font partie des acteurs qui peuvent inscrire des informations dans des fichiers journaux.
Le nom et le chemin de ces fichiers journaux dépendent de l'environnement de développement ou de production utilisé.
Des exemples complets sont donnés plus bas.
Le module PHP dispose de ses propres configurations pour inscrire des informations dans des fichiers journaux.
Dans le cas où aucun chemin n'est spécifié pour le fichier journal de PHP, c'est celui du serveur HTTP qui sera utilisé.
En plus des informations consignées automatiquement par le serveur HTTP ou par PHP, vous pouvez inscrire vos propres informations à partir d'instructions PHP dans votre application.
Par exemple, vous pourriez intercepter les erreurs de requêtes SQL et les consigner dans un fichier journal propre à votre application.
Le chemin du fichier journal de l'application dépend de la technologie utilisée pour développer le site Web.
Certains environnements activent la journalisation des erreurs PHP par défaut alors que d'autres ne le font pas.
Sous AMPPS, par défaut, la journalisation des erreurs PHP est activée mais il n'y a aucune configuration de fichier spécifique aux erreurs PHP.
Pour le vérifier, lancez une page Web qui fait appel à phpinfo(). Vous verrez ces lignes :
error_log no value
...
log_errors On
La mention no value indique que c'est le fichier journal du serveur HTTP qui sera utilisé :
Avec AMPPS sous Windows : C:\Program Files\Ampps\apache\logs\error.log
Sous Mac : /Applications/AMPPS/apps/apache/logs/error_log
Dans un environnement Devilbox (Windows ou Mac), le fichier journal du serveur Nginx est devilbox/log/nginx-stable/monprojet-error.log.
Celui de PHP est au format devilbox/log/php-fpm-8.2/php-fpm.error.
Il est possible de modifier la journalisation des erreurs PHP pour un projet ou pour tous les sites qui roulent sur un serveur.
Si la configuration doit être faite pour un site particulier, les configurations seront réalisées dans le projet à l'aide de l'instruction ini_set().
Dans un projet PHP vanille, ce sera fait dans le fichier configuration.inc.
Dans WordPress, ce sera dans le fichier wp-config.php.
Vous pouvez utiliser le chemin de votre choix, par exemple :
ini_set("log_errors", true);
ini_set("error_log", "/Applications/AMPPS/www/log/php_errors.log");
La technique sous Laravel est passablement différente. Elle est détaillée dans cette page Web : https://laravel.com/docs/master/logging
Si vous préférez modifier la configuration pour tous les sites Web, vous devrez ajouter ceci dans le fichier php.ini.
log_errors = On
error_log = /Applications/AMPPS/www/log/php_errors.log
Après avoir redémarré le serveur, vous pouvez vous assurer que la journalisation est bien configurée en lançant une page Web qui fait appel à phpinfo().
Vous verrez alors ces lignes :
error_log /Applications/AMPPS/www/log/php_errors.log
...
log_errors On
▼Publicité