Afficher les erreurs PHP - Tutoriel pour Webmasters  

Accueil > Tutoriels pour Webmasters > Afficher les erreurs PHP

Afficher les erreurs PHP

Les erreurs PHP ne sont pas toujours affichées pour éviter des failles de sécurité. Ce petit tutoriel explique comment afficher les erreurs PHP. Ce cours est accessible aux débutants. Il suffira de copier/coller un code PHP.

A utiliser avec parcimonie

Afficher les erreurs sur un site web est pratique pour comprendre d'où viens un problème mais ça à aussi des inconvénient. Il est recommandé d'afficher les erreurs que pendant la phase de test. Un site en production ne devrait pas afficher de code d'erreur PHP pour les raisons suivantes:

  • Le message d'erreur est en anglais et souvent compréhensible que par un développeur. Cela nuis à la notoriété du site que de laisser actif l'affichage des erreurs.
  • Le message d'erreur PHP dévoile les faiblesses du site. Un internaute mal intentionnée peut pirater le site grâce aux informations inscrite dans les messages d'erreurs.
  • Afficher les erreurs réduit un peu les performances du site.

Code à copier/coller sur les pages PHP

Pour qu'un fichier PHP affiche les erreurs PHP, le code suivant est à insérer tout en haut du code de votre page:

  1. <?php
  2. // Afficher les erreurs à l'écran
  3. ini_set('display_errors', 1);
  4. // Enregistrer les erreurs dans un fichier de log
  5. ini_set('log_errors', 1);
  6. // Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
  7. ini_set('error_log', dirname(__file__) . '/log_error_php.txt');
  8. // Afficher les erreurs et les avertissements
  9. error_reporting(e_all);
  10. ?>

Ce simple bout de code permet d'afficher les erreurs et avertissement issu du script PHP de la page et aussi de les enregistrer dans un fichier de log. Il faut l'insérer le plus haut possible dans les fichiers PHP, avant tout code HTML.

Pendant la phase de test du site web il est judicieux d'insérer ce code sur toutes les pages puis de consulter le fichier de log pour voir les erreurs.

Fichier php.ini à modifier

Pour éviter de recopier ce bout de code sur toutes les pages, il est possible d'appliquer les modifications dans le fichier php.ini. Cela n'impacte pas le code source des fichiers et est parfois plus facile à mettre en place selon la façon dont votre site est créé. Attention, avant d'effectuer des modifications dans ce fichier, assurez vous d'en faire une sauvegarde. De cette manière, si vous faites une bêtise, vous serez en mesure de revenir sur vos pas.

Dans le fichier php.ini, il faut aller à la ligne "error_reporting" et faire en sorte qu'elle ressemble à ceci:

  1. error_reporting = On

Cette modification permet de stipuler que les erreurs doivent être affichée à l'écran. Puis il faut aller à la ligne "error_reporting" et faire en sorte qu'elle ressemble à ceci:

  1. error_reporting = e_all

Cette deuxième modification stipule que toutes les erreurs PHP doivent être affichées, incluant les simples avertissements.

Après avoir effectué la modification, il faut penser à redémarrer le serveur Apache pour que les modifications soit prise en compte et normalement tout devrait bien fonctionner.