Maison >développement back-end >tutoriel php >Simplifiez le débogage avec PHP error_reporting
Aujourd'hui, nous allons apprendre à utiliser la fonction error_reporting
pour le débogage en PHP.
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
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
et discuterons de la façon de l'utiliser efficacement dans le développement PHP quotidien. error_reporting
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
E_ERROR
. Vous trouverez ci-dessous une liste rapide de toutes les constantes. E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_STRICT
E_RECOVERABLE_ERROR
E_DEPRECATED
E_USER_DEPRECATED
:与 E_DEPRECATED
E_ALL
E_USER_DEPRECATED
: similaire à
error_reporting
: Afficher toutes les erreurs, avertissements et notifications
error_reporting
Chaque constante vous permet de définir différents niveaux de rapport d'erreurs. Dans la section suivante, nous verrons comment utiliser la fonction
error_reporting
Comment utiliser la
. Dans cette section, nous verrons comment l'utiliser dans les scripts PHP.
Afficher toutes les erreurserror_reporting
函数的第一个参数中传递了 E_ALL
<?php error_reporting(E_ALL); ini_set('display_errors', 1); echo $foo; ?>
$foo
变量而没有事先定义它,因此它会抛出一条通知,通知您应该在实际使用它之前定义 $foo
Dans 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 4Puisque nous utilisons la variable
. E_ALL
-1
au lieu de la constante <?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_ALL
Afficher toutes les erreurs sauf les notifications
<?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
函数希望仅显示警告和通知。正如您所看到的,我们使用了 |
.
<?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.
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!