L'affichage des erreurs PHP à l'écran peut poser un important problème de sécurité. En effet, les messages d'erreur comprennent souvent des informations qui pourraient être très utiles à un usager malveillant.
C'est pourquoi l'affichage de ces messages sera réservé à la phase de développement du site Web.
Et même pendant le développement, il peut arriver que ces messages nuisent à votre travail. Il doit donc être facile de les activer et de les désactiver au besoin.
Dans un projet PHP vanille, on pourra définir une constante DEVEL dans le fichier configuration.inc et lui donner la valeur true lorsque le site est en développement.
Toujours dans configuration.inc, on indiquera comment gérer les erreurs selon qu'on est en développement ou non.
Dans cet exemple, on affiche toutes les erreurs lorsqu'on est en développement et on n'affiche rien en production.
// gestion des erreurs
if (DEVEL === true) {
// journalise et affiche tous les niveaux d'erreurs en mode développement
error_reporting(E_ALL);
ini_set('display_errors', '1'); // mettre à 0 si on ne veut pas voir les message à l'écran
}
else {
// en mode production, ne journalise pas certains niveaux pour des raisons de performance
error_reporting(E_ALL & ~E_STRICT & ~E_DEPRECATED);
// aucun message ne sera affiché pour des raisons de sécurité
ini_set('display_errors', '0');
}
Dans un site WordPress, c'est dans le fichier wp-config.php que la configuration sera effectuée.
Dès l'installation du site, une constante WP_DEBUG a été définie pour vous dans ce fichier.
Pour que les message d'erreur PHP soient affichés à l'écran, il faut mettre cette constante à true et ajouter cette instruction :
define( 'WP_DEBUG_DISPLAY', true );
Les messages ne seront plus affichés si on met WP_DEBUG_DISPLAY à false ou encore si on met WP_DEBUG à false.
▼Publicité