Maison  >  Article  >  développement back-end  >  Partagez un exemple de tutoriel de la fonction error_reporting en PHP

Partagez un exemple de tutoriel de la fonction error_reporting en PHP

零下一度
零下一度original
2017-06-15 14:47:321022parcourir

Cet article présente principalement des informations pertinentes sur l'utilisation détaillée de la fonction error_reporting dans PHP Les amis qui en ont besoin peuvent se référer à

Introduction détaillée à l'utilisation de la fonction error_reporting en PHP

La fonction error_reporting est utilisée dans le traitement des erreurs en PHP. La plus courante est error_reporting(E_

ALL. ^ E_NOTICE). Qu'est-ce que cela signifie ? Ci-dessous, nous analysons en détail la fonction error_reporting.

Utilisation de la définition

error_reporting() Définit le niveau de rapport d'erreurs de PHP et renvoie le niveau actuel.


Syntaxe



error_reporting(report_level)
Si le paramètre report_level n'est pas spécifié, le niveau d'erreur actuel sera renvoyé. Les éléments suivants sont des valeurs possibles de report_level :


généré par le moteur de script Zend
value Constante Description
1 E_ERROR Erreur d'exécution fatale. Erreur irrécupérable. Arrêtez d'exécuter le script.
2 E_WARNING Erreur d'exécution non fatale. L'exécution du script ne s'arrête pas.
4 E_PARSE Erreur de compilation.
8 E_NOTICE Rappel d'exécution.
16 E_CORE_ERROR Erreur fatale au démarrage de PHP. C'est comme un E_ERROR dans le noyau PHP
32 E_CORE_WARNING Une erreur non fatale au démarrage de PHP. Cela ressemble à un avertissement E_WARNING dans le noyau PHP
64 E_COMPILE_ERROR erreur fatale de compilation. C'est comme un E_ERROR
常量 描述
1 E_ERROR 致命的运行时错误。无法恢复的错误。停止执行脚本。
2 E_WARNING 非致命的运行时错误。脚本的执行并没有停止。
4 E_PARSE 编译时错误。
8 E_NOTICE 运行时提醒。
16 E_CORE_ERROR 在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR
32 E_CORE_WARNING 在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告
64 E_COMPILE_ERROR 致命的编译时错误。 这就像由Zend脚本引擎生成了一个E_ERROR
128 E_COMPILE_WARNING 非致命的编译时错误,由Zend脚本引擎生成了一个E_WARNING警告
256 E_USER_ERROR 用户自定义的致命错误
512 E_USER_WARNING 用户自定义的警告(非致命性错误)
1024 E_USER_NOTICE 用户自定义的提醒(经常是bug,也可能是有意的)
2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)
4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR
8191 E_ALL 除E_STRICT外的所有错误
128 E_COMPILE_WARNING Erreur de compilation non fatale, un avertissement E_WARNING a été généré par le moteur de script Zend 256E_USER_ERROR

Erreur fatale personnalisée par l'utilisateur 512 E_USER_WARNING Avertissement défini par l'utilisateur (erreur non fatale) 1024 E_USER_NOTICE Rappel défini par l'utilisateur (souvent un bug, peut-être intentionnel) 2048 E_STRICT Avertissement de normalisation du codage (modification recommandée pour assurer la compatibilité ascendante) 4096 E_RECOVERABLE_ERROR Une erreur d'exécution presque fatale Si elle n'est pas détectée, elle sera traitée comme E_ERROR 8191 E_ALL<.>Toutes les erreurs sauf E_STRICT
PHP n'active pas les erreurs par défaut, vous devez donc configurer le fichier php.ini :

Changer affichage_erreurs
= Off en display_errors = On


De plus, le niveau d'erreur doit être configuré, car PHP valeurs par défaut Il affiche toutes les erreurs, mais nous n'avons pas besoin de messages inoffensifs, les paramètres sont donc les suivants :


Changez error_reporting = E_ALL en error_reporting = E_ALL & ~E_NOTICE


Exemple d'utilisation dans le code PHP :

Astuce : N'importe quel nombre des options ci-dessus peut être connecté avec "OR" (en utilisant OR ou |), afin que tous les niveaux d'erreur requis puissent être signalés. Par exemple, le code suivant désactive les erreurs et les avertissements définis par l'utilisateur, effectue certaines opérations, puis revient au niveau d'erreur d'origine :
<?php
 
//禁用错误报告
 
error_reporting(0);
 
//报告运行时错误
 
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
 
error_reporting(E_ALL);
 
?>

Pour comprendre comment la fonction error_reporting est utilisée, consultez error_reporting( E_ALL ^ ​​​​E_NOTICE) Ce code signifie afficher tous les messages d'erreur

sauf E_NOTICE.

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