Maison >développement back-end >tutoriel php >Simplifiez le débogage avec PHP error_reporting

Simplifiez le débogage avec PHP error_reporting

王林
王林original
2023-08-31 10:29:091543parcourir

使用 PHP error_reporting 简化调试

Aujourd'hui, nous allons apprendre à utiliser la fonction error_reporting pour le débogage en PHP.

La fonction

error_reporting 函数允许您配置在 PHP 脚本中报告哪些错误。事实上,当您在 PHP 脚本中使用 error_reporting 函数时,它只是在运行时设置 error_reporting 指令。如果您了解 php.ini 配置文件,它提供了许多用于不同目的的配置指令,error_reporting 指令就是其中之一。具体来说,error_reporting vous permet de configurer quelles erreurs sont signalées dans les scripts PHP. En fait, lorsque vous utilisez la fonction

dans un script PHP, elle définit simplement la directive

au moment de l'exécution. Si vous connaissez le fichier de configuration php.ini, il fournit de nombreuses directives de configuration à des fins différentes, la directive error_reporting en fait partie. Plus précisément, la directive

vous permet de définir le niveau de rapport d'erreurs dans votre script PHP.

Dans ce court article, nous aborderons les bases de la fonction

et discuterons de la façon de l'utiliser efficacement dans le développement PHP quotidien. error_reporting

Grammaire

Jetons un rapide coup d'œil à la syntaxe des fonctions

.

error_reporting(int $error_level = null): int

Il faut un paramètre qui vous permet de passer le niveau d'erreur que vous souhaitez définir. C'est un paramètre facultatif, donc si vous ne le transmettez pas, il devrait renvoyer le niveau de rapport d'erreurs actuel. error_reporting

Vous pouvez passer un masque de bits ou une constante nommée dans ce paramètre. Cependant, il est recommandé de passer des constantes nommées pour des raisons de compatibilité avec les futures versions de PHP. De plus, si vous utilisez des constantes nommées, cela améliore également la lisibilité de votre code.
  • Vous pouvez transmettre différentes constantes d'erreur dans le premier paramètre de la fonction E_ERROR. Vous trouverez ci-dessous une liste rapide de toutes les constantes.
  • E_WARNING
  •  : Afficher une erreur d'exécution fatale
  • E_PARSE
  •  : Afficher l'avertissement d'exécution
  • E_NOTICE
  •  : Afficher les erreurs d'analyse au moment de la compilation
  • E_CORE_ERROR
  •  : Afficher les notifications d'exécution
  • E_CORE_WARNING
  •  : affiche les erreurs fatales survenues lors du démarrage initial de PHP
  • E_COMPILE_ERROR
  •  : Afficher les avertissements qui se produisent lors du démarrage initial de PHP
  • E_COMPILE_WARNING
  •  : Afficher une erreur fatale à la compilation
  • E_USER_ERROR
  •  : Afficher un avertissement fatal à la compilation
  • E_USER_WARNING
  •  : Afficher les messages d'erreur générés par l'utilisateur
  • E_USER_NOTICE
  •  : Afficher les messages d'avertissement générés par l'utilisateur
  • E_STRICT
  •  : Afficher les messages de notification générés par l'utilisateur
  • E_RECOVERABLE_ERROR
  •  : Modifications recommandées à votre code pour garantir la meilleure interopérabilité et compatibilité ascendante
  • E_DEPRECATED
  •  : Afficher les erreurs fatales détectables
  • E_USER_DEPRECATED:与 E_DEPRECATED
  •  : Afficher des avertissements concernant le code qui ne fonctionnera pas dans les versions futures
  • E_ALL E_USER_DEPRECATED : similaire à
  • , mais il affiche uniquement les messages d'avertissement générés par l'utilisateur

error_reporting : Afficher toutes les erreurs, avertissements et notifications

error_reportingChaque constante vous permet de définir différents niveaux de rapport d'erreurs. Dans la section suivante, nous verrons comment utiliser la fonction

dans le développement PHP quotidien.

error_reportingComment utiliser la

fonction

Dans la section précédente, nous avons découvert la syntaxe de la fonction

. Dans cette section, nous verrons comment l'utiliser dans les scripts PHP.

Afficher toutes les erreurserror_reporting 函数的第一个参数中传递了 E_ALL

Jetons un coup d’œil rapide aux exemples suivants.

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo $foo;
?>
$foo 变量而没有事先定义它,因此它会抛出一条通知,通知您应该在实际使用它之前定义 $fooDans l'exemple ci-dessus, nous avons passé la constante

dans le premier paramètre de la fonction

, elle affichera donc toutes les erreurs, avertissements et notifications dans le script. Si vous exécutez le script ci-dessus, il devrait afficher l'erreur suivante. -1 而不是 E_ALL

Notice: Undefined variable: foo in /web/demo/error_reporting.php on line 4

Puisque nous utilisons la variable

. E_ALL

Alternativement, vous pouvez passer -1 au lieu de la constante

, comme indiqué dans l'extrait de code suivant, qui affichera toutes les erreurs possibles.

<?php
error_reporting(-1);
?>

Les constantes sont très utiles pour déboguer la fameuse erreur WSOD (White Screen of Death).

error_reporting 函数时,您可以使用 &|~ 等运算符来忽略和过滤特定类型的错误。在上面的示例中,我们想要显示除通知之外的所有类型的错误,因此,我们在 E_NOTICE 常量前面使用了 ~ 运算符。如果运行上面的脚本,它不会显示仅使用 E_ALLAfficher toutes les erreurs sauf les notifications

Jetons un coup d'œil à l'exemple ci-dessous.

<?php
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
echo $foo;
?>

Lorsque vous utilisez la fonction

, vous pouvez utiliser des opérateurs tels que &, | et ~ pour ignorer et filtrer des types spécifiques d'erreurs. Dans l'exemple ci-dessus, nous souhaitons afficher tous les types d'erreurs sauf les notifications, nous utilisons donc l'opérateur ~ devant la constante

. Si vous exécutez le script ci-dessus, il n'affiche pas la notification qu'il devrait afficher si vous utilisez uniquement la constante error_reporting 函数希望仅显示警告和通知。正如您所看到的,我们使用了 |.

🎜Afficher les notifications et les avertissements🎜 🎜Dans cette section, nous apprendrons comment afficher uniquement des types spécifiques d'erreurs. Jetons un coup d'œil rapide aux exemples suivants. 🎜
<?php
error_reporting(E_WARNING | E_NOTICE);
ini_set('display_errors', 1);
include "foo_bar.php";
echo $foo;
?>
🎜Dans l'exemple ci-dessus, nous avons indiqué à la fonction 🎜 que nous souhaitons que seuls les avertissements et les notifications soient affichés. Comme vous pouvez le voir, nous avons utilisé l'opérateur | pour qu'il affiche les deux types d'erreurs. 🎜

Voici comment utiliser les fonctions error_reporting et différents types de constantes d'erreur pour le débogage dans le développement PHP quotidien.

Conclusion

Aujourd'hui, nous avons expliqué comment utiliser la fonction error_reporting en PHP pour déboguer les erreurs dans les scripts PHP. Nous avons discuté de la manière dont il peut être utilisé pour afficher les erreurs à différents niveaux au cours du développement.

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
Article précédent:Paramètres de contexte PHPArticle suivant:Paramètres de contexte PHP