Maison >développement back-end >tutoriel php >Conseil rapide: comment gérer les rapports d'erreurs en php

Conseil rapide: comment gérer les rapports d'erreurs en php

Christopher Nolan
Christopher Nolanoriginal
2025-02-08 09:02:14964parcourir

Quick Tip: How to Manage Error Reporting in PHP

Cet article explorera les compétences de la déclaration des erreurs PHP et introduira comment utiliser les outils PHP pour gérer les erreurs de manière contrôlable, ce qui permet de gagner du temps de débogage.

PHP est essentiellement un langage de programmation "Exception légère". Cela signifie que, bien qu'il prenne en charge la gestion des exceptions, le script continue de s'exécuter à moins qu'une erreur fatale ne se produise, quoi qu'il arrive.

Exemple:

<code class="language-php"><?php   echo $sitepoint;</code>

Le code ci-dessus renverra le message suivant:

<code>Notice: Undefined variable: sitepoint in PHP shell code on line 1</code>

PHP ne lancera qu'une erreur de notification et continuera à exécuter joyeusement. Les langues "Exception lourde" (comme Python) lancent une erreur et arrêtent l'exécution.

Par conséquent, les développeurs PHP doivent prendre des soins supplémentaires lors de l'écriture de code. Des résultats inattendus peuvent se produire lors de l'exécution du programme car les notifications n'arrêteront pas de s'exécuter, mais peuvent affecter le comportement correct du programme.

Avant d'introduire comment ajuster le style de rapport d'erreur PHP, comprenons d'abord plusieurs niveaux de gravité des erreurs de PHP.

PHP a trois principaux types de messages: l'erreur, la notification et l'avertissement. Ils représentent différents niveaux de gravité: e_error, e_notice et e_warning.

    Les erreurs
  • sont des erreurs fatales d'exécution, généralement causées par des échecs dans le code. Cela amènera PHP à arrêter l'exécution.
  • La notification est causée par un code qui peut ou peut causer des problèmes (par exemple, des variables non définies). Ceux-ci ne font pas l'arrêt de l'exécution.
  • L'avertissement est une erreur fatale, l'exécution du script ne s'arrêtera pas.

Erreur Loggation en php

Par défaut, PHP ne enregistre aucune erreur. Pour ce faire, nous devons ouvrir la variable Display_errors dans le fichier de configuration PHP (fichier php.ini) pour l'indiquer explicitement pour démarrer la journalisation.

Dans ce fichier, nous pouvons également dire à PHP si nous voulons enregistrer les notifications et les avertissements, et où ce journal doit être enregistré.

peut également déclencher la connexion dans le code. Pour ce faire, nous pouvons utiliser la fonction error_log (). Étant donné que la journalisation des erreurs n'est pas au centre de cet article, veuillez consulter ici pour plus d'informations.

Modifier le rapport d'erreur PHP

Nous pouvons utiliser la fonction error_reportting () pour modifier le comportement de rapport d'erreur PHP par défaut. En utilisant cette fonction, nous pouvons définir le niveau d'erreur de la durée du script. Cela se fait en passant une ou plusieurs constantes d'erreur prédéfinies à la fonction.

Par exemple, si nous voulons voir non seulement des erreurs mais aussi des notifications, nous pouvons utiliser:

<code class="language-php"><?php error_reporting(E_ERROR | E_NOTICE);</code>

Avec cette déclaration, l'exécution du script s'arrête non seulement lorsqu'une erreur se produit, mais aussi lorsqu'une notification se produit.

supprimer l'erreur

Nous pouvons également utiliser l'opérateur de contrôle d'erreur (@) pour dire à PHP de supprimer les erreurs spécifiques. En plaçant cet opérateur au début d'une expression, toutes les erreurs qui sont le résultat direct de l'expression seront traitées silencieusement:

<code class="language-php"><?php echo @$sitepoint;</code>

Si $ sitepoint existe, cela étend la valeur de $ SitePoint, mais s'il n'existe pas, il renvoie Null et n'imprime rien (plutôt que de lancer une notification).

Soyez très prudent lorsque vous utilisez cet opérateur, car il masquera complètement l'erreur. Non seulement l'erreur ne sera pas affichée, mais elle ne sera pas envoyée au journal d'erreur. Bien que cela semble inoffensif, l'utilisation de cet opérateur masque des problèmes structurels plus profonds dans le code et les masques potentiellement mauvais comportement.

Utiliser PHP comme langue "Exception lourde"

Enfin, PHP peut également être utilisé comme un langage de programmation "Exception lourde". Une erreur PHP normale peut être lancée comme exception à l'aide de la classe ErroreXception qui étend la classe d'exception PHP.

Dans l'exemple suivant, la fonction définie par l'utilisateur ErrorHandler () est définie comme un gestionnaire d'erreurs, en utilisant la fonction set_error_handler (). Lorsqu'une erreur fatale se produit car la fonction file_get_contents () ne peut pas trouver le fichier, il lance une ErrorException:

En utilisant cette méthode, nous pouvons gérer les erreurs d'exécution comme nous le faisons avec des exceptions, les envelopper dans une instruction Try… Catch et fournir des instructions appropriées sur la façon de le faire dans ce cas.
<code class="language-php"><?php   echo $sitepoint;</code>

Conclusion

Dans l'ensemble, PHP peut gérer les erreurs d'une manière très lâche. Cela dépend de nos développeurs utilisant des outils existants pour mieux les gérer afin que nous puissions tirer le meilleur parti de la langue. En utilisant cet ensemble d'outils, nous pouvons gérer les erreurs de manière contrôlée, ce qui fait gagner du temps de débogage.

Les questions fréquemment posées sur la gestion des rapports d'erreur dans PHP

Qu'est-ce qu'un rapport de bogue en PHP?

Les rapports d'erreurs en PHP se réfèrent au processus de détection et de gestion des erreurs ou des exceptions qui se produisent lors de l'exécution du code PHP. Les erreurs peuvent inclure des erreurs de syntaxe, des erreurs d'exécution et des erreurs logiques.

Comment activer les rapports d'erreurs en PHP?

Vous pouvez activer les rapports d'erreur dans PHP en définissant la directive de configuration Error_Reportting dans PHP Script ou Fichier de configuration PHP.ini. Vous pouvez également utiliser la fonction Error_Reporting pour modifier dynamiquement le niveau de rapport dans votre code.

Comment gérer gracieusement les erreurs de PHP?

Vous pouvez gérer gracieusement l'erreur en utilisant le bloc Try ... Catch et utiliser l'instruction conditionnelle pour vérifier la condition d'erreur avant de continuer à exécuter le code.

Quelle est la fonction PHP Trigger_error?

La fonction Trigger_error est utilisée pour générer des messages d'erreur au niveau de l'utilisateur. Vous pouvez utiliser cette fonction pour créer des messages d'erreur personnalisés et les déclencher dans votre code.

Comment enregistrer les erreurs PHP pour le débogage et l'analyse?

Vous pouvez utiliser la fonction error_log pour enregistrer les erreurs PHP dans un fichier. De plus, vous pouvez configurer PHP pour enregistrer les erreurs dans un fichier spécifique en modifiant la directive Error_log dans la configuration php.ini.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn