Position actuelle: Accueil> Derniers articles> Comment optimiser l'expérience de débogage des erreurs PHP en combinaison avec la configuration Display_errors?

Comment optimiser l'expérience de débogage des erreurs PHP en combinaison avec la configuration Display_errors?

M66 2025-08-07

Pendant le développement de PHP, les erreurs de débogage sont une partie inévitable des développeurs. Pour aider les développeurs à identifier et à résoudre les problèmes plus rapidement et plus précisément, PHP fournit l'option de configuration Display_errors , qui peut optimiser considérablement l'expérience de débogage d'erreur. Cet article explorera en profondeur comment combiner la configuration Display_errors pour améliorer l'efficacité du débogage des erreurs de PHP.

Qu'est-ce que Display_errors?

Display_errors est une option de configuration pour PHP qui contrôle si PHP affiche les messages d'erreur directement au client lorsqu'une erreur se produit. Lorsque cette option est définie sur ON , PHP affichera des informations d'erreur détaillées dans le navigateur, y compris le type d'erreur, le chemin du fichier, le numéro de ligne et les informations de trace de pile associées. Ceci est très utile pour le développement et le débogage, mais dans les environnements de production, il est généralement désactivé pour éviter la fuite d'informations sensibles.

Configuration de l'affichage d'affichage

Dans l'environnement de développement, l'activation de Display_errors peut aider les développeurs à voir diverses erreurs dans les programmes PHP en temps réel, y compris les erreurs de syntaxe, les avertissements et les notifications. Pour activer cette configuration, il y a généralement deux façons:

1. Modifier le fichier de configuration php.ini

Le moyen le plus courant consiste à définir Display_errors dans le fichier de configuration de PHP Php.ini :

 <span><span><span class="hljs-attr">display_errors</span></span><span> = </span><span><span class="hljs-literal">On</span></span><span>
</span></span>

Après modification, redémarrez le service PHP pour activer la configuration.

2. Utilisez la fonction ini_set ()

Si vous ne souhaitez pas modifier la configuration globale du serveur, vous pouvez définir Dynamiquement Display_errors dans le script PHP. Par exemple:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);  </span><span><span class="hljs-comment">// Afficher tous les types d&#39;erreurs</span></span><span>
</span></span>

De cette façon, même si le fichier php.ini n'est pas modifié, l'affichage d'erreur peut être activé dans le script. De cette façon, vous pouvez définir différentes stratégies d'affichage d'erreur pour différents fichiers PHP.

Pour améliorer l'effet de débogage avec Error_Reportting

L'installer Display_errors seul n'optimise pas entièrement l'expérience de débogage, et il est également crucial d'utiliser la configuration Error_Reportting rationnellement. Error_Reporting est utilisé pour définir les types d'erreurs que PHP rapporte. Il peut être utilisé avec Display_errors pour afficher les messages d'erreur à un niveau spécifié.

Par exemple, défini pour afficher toutes les erreurs:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);  </span><span><span class="hljs-comment">// Afficher toutes les erreurs,Y compris les avertissements、Notifications, etc.</span></span><span>
</span></span>

Cela signifie que toutes les erreurs, avertissements et notifications seront affichés, aidant les développeurs à comprendre l'état de course du code de manière plus exhaustive. Les valeurs de configuration Error_Report couramment utilisées incluent:

  • E_ALL : Affichez toutes les erreurs.

  • E_ERROR : ne montrez que des erreurs fatales.

  • E_WARNING : Afficher l'erreur d'avertissement.

  • E_NOTICE : Afficher l'erreur de notification.

  • E_strict : montre des erreurs standard strictes dans le code.

En combinant les configurations Display_errors et Error_Report ,, des informations de débogage d'erreurs plus détaillées peuvent être personnalisées.

L'importance de fermer l'affichage_érroes dans les environnements de production

Bien que l'activation de Display_errors dans un environnement de développement soit très utile, dans les environnements de production, nous devons généralement désactiver la fonctionnalité pour éviter d'exposer des messages d'erreur sensibles aux utilisateurs. L'attaquant peut utiliser ces messages d'erreur pour comprendre la structure du système et les vulnérabilités potentielles et lancer une attaque.

Pour désactiver Display_errors en production, vous pouvez le définir dans php.ini :

 <span><span><span class="hljs-attr">display_errors</span></span><span> = </span><span><span class="hljs-literal">Off</span></span><span>
</span></span>

Ou utilisez le code suivant pour désactiver dynamiquement l'affichage d'erreur:

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>);  </span><span><span class="hljs-comment">// Aucune erreur n&#39;est signalée</span></span><span>
</span></span>

Dans les environnements de production, il est recommandé de journaliser les messages d'erreur dans les fichiers journaux plutôt que de les afficher sur les pages. De cette façon, les développeurs peuvent toujours afficher les fichiers journaux pour voir si le système s'exécute normalement, tout en évitant de montrer trop d'informations de débogage à l'utilisateur.

Configuration de la journalisation: log_errors

Pour suivre efficacement les erreurs dans les environnements de production, vous pouvez activer la configuration log_errors de PHP pour journaliser les journaux d'erreur au lieu d'afficher directement des messages d'erreur. Utilisez la configuration suivante:

 <span><span><span class="hljs-attr">log_errors</span></span><span> = </span><span><span class="hljs-literal">On</span></span><span>
</span><span><span class="hljs-attr">error_log</span></span><span> = /path/to/php-error.log  // Définir le chemin du fichier journal
</span></span>

De cette façon, toutes les informations d'erreur seront enregistrées dans le fichier journal spécifié, et les développeurs peuvent vérifier le fonctionnement du système et le débogage sans affecter l'expérience utilisateur.

en conclusion

Configurez rationnellement les options de configuration Display_errors , combinées avec Error_Reporting et Log_errors , peuvent optimiser efficacement l'expérience de débogage d'erreur pendant le développement de PHP. Dans l'environnement de développement, nous pouvons rapidement localiser les problèmes en activant l'affichage des erreurs et des rapports d'erreur détaillés; Dans l'environnement de production, la désactivation de l'affichage des erreurs et l'activation de la journalisation des erreurs peuvent protéger le système contre la fuite d'informations sensibles. La maîtrise de ces configurations peut aider les développeurs à travailler plus efficacement dans les étapes de développement et de lancement.