• 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

Ce cours existe en livre papier.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 20/12/2023

Configurez PHP pour visualiser les erreurs

Avant d'aller plus loin, il est important de faire un petit point à propos de quelque chose que vous allez sans doute beaucoup rencontrer (et ce n'est absolument pas grave !) : les erreurs.

Nous allons donc changer la configuration de PHP.

Configurez PHP pour afficher les erreurs

Eh oui, PHP est configurable !

Par défaut, PHP n'affiche pas les erreurs.

Pourquoi ?

Pour des raisons de sécurité ! C'est pour éviter de donner trop d'indications aux utilisateurs, tout simplement.

Un mantra à vous répéter :

"Moins l'utilisateur en sait sur mon application, mieux mon application se portera."

Où est-ce qu'il se trouve, ce fichier ?

En fait, vous allez devoir le localiser. Mais pas de panique, je vous explique tout !

Localisez le fichier de configuration PHP du serveur web

Nous allons utiliser phpinfo() pour localiser le fichier de configuration, puis le modifier.

Je vous invite donc à créer un fichier PHP avec le code qui suit :

<?php

phpinfo();

Enregistrez-le sous le nom info.php  dans le dossier accessible pour votre serveur web (normalement htdocs ou www  ).

Et enfin, affichez la page. Vous devriez obtenir le résultat suivant :

Résultat du script contenant l'instruction  phpinfo() : Sur cette capture d'écran on peut voir la version de PHP utilisée (PHP 8.2.12) ; le type de serveur web (ici Apache) ; et la localisation du (ou des fichiers) de configuration pour PHP.
Résultat du script contenant l'instruction phpinfo()

Cette page contient toute une flopée d'informations, dont :

  • la version de PHP utilisée (pour moi, il s'agit de PHP 8.2.12) ;

  • le type de serveur web (ici Apache) ;

  • et la localisation du (ou des fichiers) de configuration pour PHP.

Retrouvez la ligne "Loaded Configuration File" (ce qui signifie "fichier de configuration chargé", en anglais), et regardez la valeur. Dans mon cas, on peut voir ceci :

La capture d'écran montre le chemin du fichier de configuration de PHP chargé par le serveur web : il sera différent d'un ordinateur à l'autre. Dans mon cas, sa valeur indique qu'il est rangé dans un dossier
Chemin du fichier de configuration de PHP chargé par le serveur web

Je vais donc ouvrir ce fichier et le modifier.

Modifiez le fichier de configuration PHP

Il faut s'assurer que :

  • la clé de configuration error_reporting a la valeur E_ALL

  • la clé de configuration  display_errors a la valeur On 

Allons-y étape par étape :

  1. Effectuez une recherche dans le fichier avec le terme error_reporting . S'il n'y a pas écrit  error_reporting = E_ALL , remplacez-la par la bonne valeur.

  2. Ensuite, effectuez une nouvelle recherche dans le fichier avec le terme display_errors . S'il n'y a pas écrit display_errors = On , remplacez-la par la bonne valeur.

  3. Enregistrez le fichier.

  4. Relancez le serveur pour qu'il prenne en compte vos modifications. Il suffit de relancer XAMPP, par exemple.

La capture d'écran montre que le reporting et l'affichage des erreurs dans le fichier php.ini sont activés : on peut voir
Vérifiez que vous avez bien activé les erreurs dans le fichier php.ini

Testez l'affichage des erreurs

Nous allons maintenant créer une erreur dans un script PHP pour nous assurer que l'erreur s'affiche dans le navigateur.

Dans le script (que nous avons créé pour afficher les informations relatives à PHP pour le serveur web ; nous l'avions appelé  info.php  ), retirez une parenthèse, puis enregistrez le fichier.

Ça devrait donner ceci :

<?php

phpinfo(;

Oui, je sais, il manque une parenthèse, c'est une erreur, on le fait exprès.

Maintenant, affichez la page à l'aide de votre navigateur web.

Voici ce que la page web affiche lorsque l'on teste s'il y a des erreurs : il est écrit qu'il y a une
Affichage des erreurs dans le navigateur web

Et voilà !

Si vous voyez bien cette erreur, c'est que PHP est configuré pour afficher le détail des erreurs.

Ouf ! Ça nous fera gagner beaucoup de temps pour comprendre nos problèmes par la suite.

En résumé

  • PHP dispose d'un mode de déboggage pour afficher les erreurs contenues dans vos scripts.

  • Pour activer le déboggage, on modifie la configuration de PHP en éditant le fichier php.ini.

  • On peut trouver la localisation de ce fichier (et plein d'autres informations) en exécutant la fonction phpinfo() <?php phpinfo(); ?>  .

  • Pour activer l'affichage, on change la propriété display_errors à On et on filtre le type d'erreurs avec error_reporting (on choisira E_ALL pour voir toutes les erreurs !).

C'est la fin de cette première partie, maintenant testez vos connaissances avec le quiz !

Exemple de certificat de réussite
Exemple de certificat de réussite