設定方法: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 // 指定产生的错误报告写入的日志文件位置
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(); } ?>
[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 サイトの他の関連記事を参照してください。