Dans ce petit tutoriel, nous allons voir comment afficher les erreurs PHP afin de mieux déboguer vos scripts.
En effet, par défaut, lorsqu’un script plante, PHP ne nous affiche… rien, une page blanche. Pas simple pour comprendre ce qui ne va pas !
Commençons donc par créer un nouveau fichier test.php dans le répertoire www (ou l’un de ses sous-dossiers, en fonction de votre installation), et insérons ces quelques lignes :
<?php
echo 'Hello World!';
Lançons notre navigateur à l’adresse http://localhost/test.php et voyons ce que cela donne :
Tout fonctionne, parfait !
A présent, nous allons volontairement ajouter une erreur dans notre code, en supprimant, par exemple, le point-virgule à la fin de l’instruction :
<?php
echo 'Hello World!'
On sauvegarde, et on actualise notre page :
La page est totalement vide ! Aucune erreur n’est affichée 😒
Vous en conviendrez, sur ce code très court, le débogage reste relativement simple, mais dans un code beaucoup plus complexe, ça revient à chercher une aiguille dans une botte de foin !
Nous allons donc configurer PHP pour que celui-ci nous affiche les erreurs.
Cette configuration va se faire en modifiant le fichier php.ini, qui est le fichier de configuration de PHP, et pour trouver ce fichier, nous allons utiliser une fonction que PHP met à notre disposition : phpinfo()
Créons un nouveau fichier phpinfo.php et ajoutons-y le code suivant :
<?php
phpinfo();
Dans notre navigateur, ouvrons cette page :
On constate que de nombreuses informations nous sont affichées concernant PHP, sa version, etc.
A la ligne “Loaded Configuration File”, on trouve le chemin vers le fichier php.ini avec lequel nous allons travailler.
Ouvrons-le et voyons à quoi il ressemble :
Comme vous pouvez le constater, ce fichier contient énormément d’informations concernant la configuration de PHP, mais seulement deux lignes nous intéressent : display_errors et error_reporting.
Si vous souhaitez avec plus d’informations sur les directives contenues dans ce fichier, n’hésitez pas à consulter la doc.
Faisons une recherche sur ces deux lignes et assurons-nous, tout d’abord, qu’elles ne sont pas commentées (le ; devant une ligne sert à commenter celle-ci) et qu’elles ont les bonnes valeurs, à savoir, respectivement “on” et “E_ALL” :
display_errors = on
error_reporting = E_ALL
Sauvegardons, relançons notre serveur, puis réactualisons notre page test.php. Voyons ce que cela donne :
Et voilà ! Cette erreur nous confirme que PHP est désormais correctement configuré pour l’affichage des erreurs. Cela nous sera très utile pour la suite, pour comprendre les problèmes rencontrés, et les corriger !
Cependant, je ne saurais terminer ce tuto sans une petite mise en garde : si les erreurs ne s’affichent pas par défaut, cela n’est pas pour nous embêter, c’est une question de sécurité. En production, il ne faut pas donner trop d’informations sur votre application aux utilisateurs, encore moins sur des failles qui pourraient être exploitées 😉
Ajouté le : 23/01/2019 par Aurore
Suggestion d'articles et de cours dans les mêmes catégories que "Configurer PHP pour afficher les erreurs" :