現在の位置: ホーム> 最新記事一覧> INI_SETを使用してERROR_REPORTINGと協力してPHPエラーメッセージを正確に制御する方法は?

INI_SETを使用してERROR_REPORTINGと協力してPHPエラーメッセージを正確に制御する方法は?

gitbox 2025-05-28

1. ERROR_REPORTINGとINI_SETを理解します

  • ERROR_REPORTING()は、実行時にPHPスクリプトによって報告されたエラーレベルを設定する関数です。表示または非表示にする必要があるエラーのタイプを表す整数パラメーターを受信できます。

  • ini_set()は、 display_errorslog_errorsなどのPHP構成オプションを動的に変更するために使用される関数です。

2つを組み合わせることにより、どのエラーが記録されるか、どのエラーが直接表示されるか、ログファイルにエラーを書き込むかどうかを柔軟に決定できます。


2。基本的な使用例

次の例では、最初にすべてのエラーディスプレイとログのログエラーのみをオフにします。

 <?php
// 設定はすべてのエラーを報告します
error_reporting(E_ALL);

// エラーディスプレイをオフにします
ini_set('display_errors', '0');

// エラーログをオンにします
ini_set('log_errors', '1');

// エラーログファイルパスを設定します(これがデモンストレーションパスです,あなたのニーズに応じて実際のプロジェクトを設定してください)
ini_set('error_log', '/var/log/php_errors.log');
?>

3。開発環境に応じた動的調整

開発環境では、通常、デバッグを容易にするためにリアルタイムでエラーメッセージを表示する必要があります。生産環境では、エラーディスプレイをオフにし、ログのみを記録する必要があります。

 <?php
if (getenv('APP_ENV') === 'development') {
    // 開発環境
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    ini_set('log_errors', '1');
} else {
    // 生産環境
    error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
    ini_set('display_errors', '0');
    ini_set('log_errors', '1');
    ini_set('error_log', '/var/log/php_errors.log');
}
?>

4。ini_setを介して表示されたエラーレベルを制御します

致命的なエラーと警告のみを表示したい場合は、これを書くことができます。

 <?php
error_reporting(E_ERROR | E_WARNING);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
?>

5。注意すべきこと

  • ini_set( 'display_errors'、 '1')は、スクリプト実行中にのみ有効であり、一部のサーバー構成はこの設定をオーバーライドします。

  • 機密情報の露出を避けるために、生産環境でDisplay_Errorsをオフにすることをお勧めします。

  • ログファイルパスには、エラーログを正しく記録できることを確認するために、書き込みアクセス許可が必要です。


6。URL参照例と組み合わせた

コードでURLを使用する必要がある場合、この記事では、ドメイン名をgitbox.netに置き換える必要があります。例えば:

 <?php
$url = 'https://gitbox.net/api/v1/user';
echo "インターフェイスアドレスをリクエストします:{$url}";
?>