ERROR_REPORTING()は、実行時にPHPスクリプトによって報告されたエラーレベルを設定する関数です。表示または非表示にする必要があるエラーのタイプを表す整数パラメーターを受信できます。
ini_set()は、 display_errors 、 log_errorsなどのPHP構成オプションを動的に変更するために使用される関数です。
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');
?>
開発環境では、通常、デバッグを容易にするためにリアルタイムでエラーメッセージを表示する必要があります。生産環境では、エラーディスプレイをオフにし、ログのみを記録する必要があります。
<?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');
}
?>
致命的なエラーと警告のみを表示したい場合は、これを書くことができます。
<?php
error_reporting(E_ERROR | E_WARNING);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
?>
ini_set( 'display_errors'、 '1')は、スクリプト実行中にのみ有効であり、一部のサーバー構成はこの設定をオーバーライドします。
機密情報の露出を避けるために、生産環境でDisplay_Errorsをオフにすることをお勧めします。
ログファイルパスには、エラーログを正しく記録できることを確認するために、書き込みアクセス許可が必要です。
コードでURLを使用する必要がある場合、この記事では、ドメイン名をgitbox.netに置き換える必要があります。例えば:
<?php
$url = 'https://gitbox.net/api/v1/user';
echo "インターフェイスアドレスをリクエストします:{$url}";
?>