Maison  >  Article  >  développement back-end  >  Quels sont les trois types de niveaux de rapport d'erreurs en PHP ?

Quels sont les trois types de niveaux de rapport d'erreurs en PHP ?

青灯夜游
青灯夜游original
2020-09-29 10:17:242438parcourir

Les trois niveaux de rapport d'erreurs de PHP sont : 1. Erreur de syntaxe, cela empêchera l'exécution du script ; 2. Erreurs d'exécution : en général, cela n'empêchera pas l'exécution du script PHP, mais cela empêchera l'exécution de l'opération en cours et générera une erreur, mais le script PHP continuera à s'exécuter. 3. Erreur logique ; n'empêche pas l'exécution du script et ne génère pas de message d'erreur.

Quels sont les trois types de niveaux de rapport d'erreurs en PHP ?

Recommandé : "Tutoriel vidéo PHP"

1. Les erreurs du programme PHP relèvent généralement des trois domaines suivants

1. Erreurs de grammaire

Les erreurs de syntaxe sont les plus courantes et les plus faciles à corriger, comme l'absence d'un point-virgule dans le code. De telles erreurs empêcheront l'exécution du script.

2. Erreur d'exécution :

Ce type d'erreur n'empêchera généralement pas l'exécution du script php, mais empêchera l'exécution de l'opération en cours et générera une erreur, mais le script php continuera à s'exécuter.

3. Erreur logique :

Ce type d'erreur est le plus gênant. Il n'empêche pas l'exécution du script et ne génère pas de message d'erreur.

2. Niveau de rapport d'erreurs PHP

   级别常量    错误值    错误报告描述
   E_ERROR 1  致命的运行时错误(阻止脚本执行)
   E_WARNING   2  运行时警告(非致命性错误)
   E_PARSE 4  从语法中解析错误
   E_NOTICE    8  运行时注意消息(可能是或可能不是一个问题)
   E_CORE_ERROR    16 PHP启动时初始化过程中的致命错误
   E_CORE_WARNING  32 PHP启动时初始化过程中的警告(非致命性错)
   E_COMPILE_ERROR 64 编译时致命性错
   E_COMPILE_WARNING   128    编译时警告(非致命性错)
   E_USER_ERROR    256    用户自定义的致命错误
   E_USER_WARNING  512    用户自定义的警告(非致命性错误)
   E_USER_NOTICE   1024   用户自定义的提醒(经常是bug)
   E_STRICT    2048   编码标准化警告(建议如何修改以向前兼容)
   E_ALL   6143   所有的错误、警告和注意信息

3. Ajuster le niveau de rapport d'erreurs

1. display_errors : s'il faut activer PHP pour afficher le niveau de rapport d'erreurs .
Les valeurs sont : On (rapport d'erreur de sortie par défaut), Off (protéger tous les messages d'erreur)
-- La fonction ini_set() peut être appelée dans le script php pour définir dynamiquement le fichier de configuration php.ini.
-- Par exemple : ini_set("display_errors", "On"); Afficher toutes les informations sur les erreurs

2 error_reporting : définir différents rapports de niveau d'erreur
error_reporting = E_ALL & ~E_NOTICE
. -- Toute erreur inaperçue peut être générée
error_reporting = E_ERROR | E_CORE_ERROR
-- Seules les erreurs d'exécution fatales, les nouvelles erreurs d'analyse et les erreurs principales sont prises en compte.
error_reporting = E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)
-- Signale toutes les erreurs, à l'exception des erreurs causées par l'utilisateur.
Le niveau de rapport d'erreurs peut être défini dynamiquement dans le script php via la fonction error_reporting().
Tels que : error_reporting(E_ALL);

4. Test de code

<html>
    <head><title>测试错误报告</title></head>
    <body>
        <h2>测试错误报告</h2>
        <?php
            /*开启php.ini中的display_errors指令,只有该指令开启如果有错误报告才输出*/
            ini_set(&#39;display_errors&#39;, 1);  
            /*通过error_reporting()函数设置在本脚本中,输出所有级别的错误报告*/
            error_reporting( E_ALL );
            /*“注意(notice)”的报告,不会阻止脚本的执行,并且可能不一定是一个问题 */
            getType( $var );             //调用函数时提供的参数变量没有在之前声明
            /*“警告(warning)”的报告,指示一个问题,但是不会阻止脚本的执行 */
            getType();                      //调用函数时没有提供必要的参数
            /*“错误(error)”的报告,它会终止程序,脚本不会再向下执行 */
            get_Type();                     //调用一个没有被定义的函数
        ?>
    </body>
</html>

Recommandations associées : formation php

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