ホームページ >バックエンド開発 >PHPの問題 >PHP の 3 つのエラー報告レベルのタイプは何ですか?

PHP の 3 つのエラー報告レベルのタイプは何ですか?

青灯夜游
青灯夜游オリジナル
2020-09-29 10:17:242477ブラウズ

php 3 つのエラー報告レベルは次のとおりです: 1. 構文エラー; スクリプトの実行が妨げられます。 2. 実行時エラー。通常、PHP スクリプトの実行は妨げられませんが、現在の実行が妨げられ、エラーが出力されますが、PHP スクリプトは実行を続けます。 3. ロジック エラー。スクリプトの実行は妨げられず、エラー メッセージも出力されません。

PHP の 3 つのエラー報告レベルのタイプは何ですか?

推奨: 「PHP ビデオ チュートリアル

1. PHP プログラムのエラーは通常、次の 3 つの領域に分類されます。

##1. 文法エラー

構文エラーは最も一般的であり、修正が簡単です。たとえば、コードにセミコロンが欠落している場合、そのようなエラーによりスクリプトの実行が妨げられます。 。


2. 実行時エラー:

この種のエラーは通常、php スクリプトの実行を妨げませんが、現在の処理が妨げられ、エラーが出力されますが、php スクリプトは実行は継続されます。

3. ロジック エラー:

この種のエラーは最も厄介ですが、スクリプトの実行が妨げられたり、エラー メッセージが出力されたりすることはありません。

2. 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. エラー報告レベルの調整

#1. display_errors: PHP 出力のレベルを有効にするかどうかエラー報告。

値は次のとおりです: On (デフォルトの出力エラー レポート)、Off (すべてのエラー メッセージをシールド)
-- ini_set() 関数を php スクリプト内で呼び出して、php.ini 構成ファイルを動的に設定できます。
-- 例: ini_set("display_errors", "On"); すべてのエラー メッセージを表示します

2. error_reporting: 異なるエラー レベルのレポートを設定します
error_reporting = E_ALL & ~E_NOTICE
-- 気付かないエラーがスローされる可能性があります
error_reporting = E_ERROR | E_PARSE | E_CORE_ERROR
-- 致命的なランタイム エラー、新しい解析エラー、およびコア エラーのみが考慮されます。
error_reporting = E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)
-- ユーザーが原因で発生したエラーを除くすべてのエラーを報告します。
PHP スクリプトでは、error_reporting() 関数を通じてエラー報告レベルを動的に設定できます。
例: error_reporting(E_ALL);

4. コード テスト
<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>

関連する推奨事項:

php トレーニング

以上がPHP の 3 つのエラー報告レベルのタイプは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。