Dans cet article, nous vous montrons comment activer l'affichage des erreurs pour les versions de PHP à partir de PHP 8.0.

En activant l'affichage des erreurs, les messages relatifs aux erreurs survenues lors de l'exécution du code de programme sont directement affichés sur votre site Web. Cela permet par exemple de diagnostiquer une erreur lorsque seule une page vide ou incomplète est affichée.

Attention

Pour des raisons de sécurité, nous recommandons de ne pas activer en permanence les messages d'erreur dans un environnement de production. Les messages d'erreur peuvent fournir des informations sensibles qui pourraient être utiles à des attaquants potentiels. Toutefois, dans les phases de développement ou pour le diagnostic aigu d'un problème, il peut être utile d'afficher temporairement des messages d'erreur.

Si vous souhaitez effectuer un diagnostic d'erreur sur une période plus longue, activez plutôt les Error Logs.

Activer les messages d'erreur

Pour activer l'affichage des messages d'erreur PHP pour votre site, ajoutez un fichier nommé .user.ini dans le répertoire racine de votre site avec le contenu suivant :

display_errors=On
display_startup_errors=On
error_reporting=E_ALL

Si tous les types d'erreurs ne doivent pas être affichés, vous pouvez changer cela en ajustant la ligne error_reporting=E_ALL. La procédure est décrite plus loin.

Ajuster l'affichage des erreurs

PHP distingue différents types d'erreurs. Outre les erreurs fatales qui entraînent l'arrêt du script, il existe également des types d'erreurs moins critiques comme les notifications ou les avertissements. Vous pouvez définir quels types d'erreurs sont affichés via la directive error_reporting.

Le tableau suivant montre quelques exemples de configuration :

INSTRUCTION DE CONFIGURATION DESCRIPTION
error_reporting = E_ALL Tous les types de messages d'erreur sont affichés. Cette instruction de configuration a également été utilisée plus haut dans la partie instructions.
error_reporting = E_ERROR Seules les erreurs d'exécution fatales sont affichées. Il s'agit d'erreurs qui ne peuvent pas être corrigées. Par exemple, des problèmes d'allocation de mémoire. Si une erreur fatale se produit, l'exécution du script est interrompue.
error_reporting = E_ERROR | E_WARNING Dans cet exemple, les erreurs fatales d'exécution ET les avertissements sont affichés. Les avertissements en PHP, également connus sous le nom de "warnings", sont des messages qui indiquent qu'un problème s'est produit pendant l'exécution d'un script. Contrairement aux erreurs fatales qui interrompent l'exécution d'un script, les avertissements n'entraînent pas l'arrêt du script. Le script est exécuté jusqu'à la fin malgré l'avertissement. Les avertissements indiquent typiquement des problèmes non critiques qui devraient être résolus, mais qui n'affectent pas immédiatement le fonctionnement du programme.

Si plus d'un type d'erreur doit être configuré, ces erreurs doivent être listées et séparées par le caractère | ( Bitwise OR). Voir ci-dessus pour error_reporting = E_ERROR | E_WARNING.

Vous trouverez un aperçu des constantes prédéfinies pour une utilisation avec 'error_reporting' ici : https://www.php.net/manual/fr/errorfunc.constants.php

Plus d'informations