ホームページ  >  記事  >  バックエンド開発  >  php.ini エラーレポートを設定する方法

php.ini エラーレポートを設定する方法

藏色散人
藏色散人オリジナル
2021-03-05 17:58:183183ブラウズ

php.ini エラー報告を設定する方法: まず php.ini 構成ファイルを見つけて開き、次に内容を「error_reporting=E_ALL display_errors=On」に設定します。

php.ini エラーレポートを設定する方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

PHP エラー表示をオンにしてエラーを設定するレポート レベル

警告: 運用環境ではエラー メッセージを決して表示しないでください。

表示エラー (display_errors) とエラー報告 (error_reporting) は 2 つの異なるものです。 PHPスクリプトでエラーが発生した場合、設定に応じてエラーを報告する(エラーログに記録する)かどうかを選択でき、設定でdisplay_errorsをオンにすると、エラーメッセージが画面に出力されます。同時。

プロジェクトでよく使用される設定

switch (ENVIRONMENT)
{
    // 对于开发环境,报告所有错误,同时显示到屏幕上
    case 'development':
        error_reporting(-1);
        ini_set('display_errors', 1);
    break;

    // 对于测试和生产环境,不显示错误,5.3 以上的版本,不报告通知、废弃方法、严格这几类错误
    case 'testing':
    case 'production':
        ini_set('display_errors', 0);
        if (version_compare(PHP_VERSION, '5.3', '>='))
        {
            error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
        }
        else
        {
            error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
        }
    break;

    default:
        header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
        echo 'The application environment is not set correctly.';
        exit(1); // EXIT_ERROR
}

PHP 事前定義エラー定数

公式 Web サイトではすべてのエラー定数が定義されています。

  • E_STRICT (整数) コードの最高の相互運用性と上位互換性を確保するための、コード変更のための PHP の提案。
  • E_ALL (整数) E_STRICT を除くすべてのエラーおよび警告情報。
  • E_ERROR (整数) 致命的な実行時エラー。このタイプのエラーは、メモリ割り当てによって引き起こされる問題など、通常は回復不可能な状況です。その結果、スクリプトが終了し、実行が続行されなくなります。
  • E_WARNING (整数) 実行時警告 (致命的ではないエラー)。プロンプト メッセージのみが表示されますが、スクリプトは終了しません。
  • E_PARSE (整数) コンパイル時の構文解析エラー。解析エラーはパーサーによってのみ生成されます。
  • E_NOTICE (整数) 実行時通知。スクリプトでエラーとして表示される可能性のある状況が発生したことを示しますが、正常に実行できるスクリプトでも同様の通知が表示される可能性があります。

コードで表示レベルを有効にして設定します

ini_set() 関数

PHP の場合、次のことができます。 pass php.ini ファイルにはさまざまな命令が設定されます。ただし、スクリプトの実行中に命令を設定する必要がある場合は、ini_set() 関数が必要になります。

string ini_set ( string $varname , string $newvalue )

指定された構成オプションの値を設定します。このオプションは、スクリプトの実行中は新しい値を保持し、スクリプトが終了すると復元されます。

例:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'on');

error_reporting() 関数

error_reporting() この関数は、実行時に error_reporting ディレクティブを設定できます。 。 PHP にはさまざまなエラー レベルがあるため、スクリプトの実行時にこの関数を使用してレベルを設定します。オプションの引数が設定されていない場合、error_reporting() は現在のエラー報告レベルを返します。

PHP7.2 のデフォルト値は E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED です。

より多くの可能性のあるエラーを表示するには、開発段階で E_NOTICE を有効にすることをお勧めします。

<?php

// 关闭所有PHP错误报告,相当于 ini_set(&#39;error_reporting&#39;, 0);
error_reporting(0);

error_reporting(E_ERROR | E_WARNING | E_PARSE);

// 报告 E_NOTICE  (报告未初始化的变量或捕获变量名的错误拼写)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// 除了 E_NOTICE,报告其他所有错误
error_reporting(E_ALL ^ E_NOTICE);

// 报告所有 PHP 错误 (参见 changelog)
error_reporting(E_ALL);

// 报告所有 PHP 错误
error_reporting(-1);

// 和 error_reporting(E_ALL); 一样
ini_set(&#39;error_reporting&#39;, E_ALL);

php.ini 設定ファイルを変更する

error_reporting = E_ALL # 报告所有错误
display_errors = On # 显示错误

[推奨学習:「PHP ビデオ チュートリアル 」]

以上がphp.ini エラーレポートを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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