設定方法:php.iniファイルを開き、「error_reporting=E_ALL」、「display_errors=Off」、「log_errors=On」、「error_log = E:/php_log/php_error.log」などを設定します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP 開発者向けに、あるときプロジェクトが使用されるようになったら、パス、データベース接続、データ テーブル、およびこれらのエラーによって公開されるその他の情報によるハッカーによる攻撃を避けるために、構成ファイル php.ini の display_errors オプションをすぐにオフにする必要があります。しかし、プロジェクトが使用されると必ずエラーが発生します。開発者にとって役立つエラー レポートを記録するにはどうすればよいでしょうか?
エラー レポートを別のテキスト ファイルのログとして記録できます。エラー ログの記録は、開発者や管理者がシステムに問題があるかどうかを確認するのに役立ちます。プログラム内のエラー レポートをエラー ログに書き込む必要がある場合は、PHP 構成ファイルの構成項目 log_errors をオンにするだけです。
エラー レポートは、デフォルトで Web サーバーのログ ファイル (たとえば、Apache サーバーのエラー ログ ファイル error.log) に記録されます。もちろん、エラーログを指定したファイルに記録することも可能です。
#指定したファイルを使用してエラー レポート ログを記録する
独自の指定したファイルを使用してエラー ログを記録する場合は、次のようにします。攻撃の可能性を減らすために、このファイルがドキュメント ルート ディレクトリの外側に保存されていることを確認してください。また、ファイルは PHP スクリプトに書き込み権限を与える必要があります。 Linux オペレーティング システムでは、/usr/local/ ディレクトリの error.log ファイルがエラー ログ ファイルとして使用され、Web サーバー プロセス ユーザーに書き込み権限が設定されているとします。次に、PHP 構成ファイルで、error_log ディレクティブの値をエラー ログ ファイルの絶対パスに設定します。 php.ini の構成指示を次のように変更する必要があります:error_reporting = E_ALL // 将会向PHP报告发生的每个错误 display_errors = Off // 不显示满足上条 指令所定义规则的所有错误报告 log_errors = On // 决定日志语句记录的位置 log_errors_max_len = 1024 // 设置每个日志项的最大长度 error_log = E:/php_log/php_error.log // 指定产生的错误报告写入的日志文件位置PHP 構成ファイルを上記のように設定した後、Web サーバーを再起動します。このようにして、PHP スクリプト ファイルを実行するときに、生成されたすべてのエラー レポートはブラウザーには表示されませんが、指定したエラー ログ E:/php_log/php_error.log に記録されます。 さらに、error_reporting で定義されたルールを満たすすべてのエラーを記録できるだけでなく、PHP の error_log() 関数を使用して、エラー情報を Web サーバーのエラー ログに送信したり、ファイル。
error_log() 関数のプロトタイプは次のとおりです:
error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) : boolパラメータの説明は次のとおりです:
<?php $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db"); if (!$link) { error_log('Mysql 数据库连接失败!',0); exit(); } ?>上記のコードを実行すると、php.ini 構成ファイルの error_log 項目で設定されたディレクトリに、対応するエラー ログ ファイルが生成されます。ファイルの内容は次のとおりです:
[08-May-2020 13:17:31 PRC] PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 'my_user'@'localhost' (using password: YES) in D:\WWW\index.php on line 2 [08-May-2020 13:17:31 PRC] Mysql 数据库连接失败!推奨される学習: 「
PHP ビデオ チュートリアル
>>以上がPHPでエラーログを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。