ホームページ  >  記事  >  バックエンド開発  >  PHPのエラーログって何に使うのですか?

PHPのエラーログって何に使うのですか?

青灯夜游
青灯夜游オリジナル
2022-02-21 19:27:292310ブラウズ

PHP では、エラー ログはプログラムの実行時にエラー情報を記録するために使用され、開発者や管理者がシステムに問題があるかどうかを確認するのに役立ちます。また、開発者や保守者はエラー ログを使用してデバッグやデバッグを行うこともできます。システムを維持します。

PHPのエラーログって何に使うのですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

使用方法php エラー ログ

エラー ログは、プログラムの実行時にエラー情報を記録するために使用されます。

エラー ログの記録は、開発者や管理者がシステムに問題があるかどうかを確認するのに役立ちます。プログラマや保守担当者は、エラー ログを使用してシステムのデバッグや保守を行うことができます。

プログラム内のエラー レポートをエラー ログに書き込む必要がある場合は、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

パラメータの説明は次のとおりです。

  • $message: 必要なエラー メッセージ
  • $message_type: エラーを送信する場所を設定します。可能なメッセージ タイプは次のとおりです:
    • 0: (デフォルト) 構成ファイルで設定されている error_log に応じて、オペレーティング システムのログ メカニズムまたはファイルを使用して、$message を PHP のシステム ログに送信します。注※1:パラメータ$destinationで設定したメールアドレスに$messageを送信します。 4 番目のパラメーター $extra_headers は、このタイプでのみ使用されます;
    • 2: (非推奨) はオプションではなくなりました;
    • 3: $message は、$destination ファイルの場所に送信されます。文字 $message はデフォルトでは改行として扱われません;
    • 4: $message を SAPI ログ ハンドラーに直接送信します。
    $destination: 宛先。エラー メッセージの送信先です。その意味は上記で説明されており、$message_type パラメータによって決定されます;
  • $extra_headers: 追加のヘッダー。 $message_type が 1 に設定されている場合に使用されます。このメッセージ タイプは、mail() の同じ組み込み関数を使用します。
  • 例:

例として Mysql データベースにログインし、ログインが失敗した場合のエラー情報をログに記録します。

<?php
    $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
    if (!$link) {
        error_log(&#39;Mysql 数据库连接失败!&#39;,0);
        exit();
    }
?>

上記のコードを実行すると、php.ini 構成ファイルの error_log 項目で設定されたディレクトリに、対応するエラー ログ ファイルが生成されます。ファイルの内容は次のとおりです:

[08-May-2020 13:17:31 PRC] PHP Warning:  mysqli_connect(): (HY000/1045): Access denied for user &#39;my_user&#39;@&#39;localhost&#39; (using password: YES) in D:\WWW\index.php on line 2
[08-May-2020 13:17:31 PRC] Mysql 数据库连接失败!

推奨される学習: 「

PHP ビデオ チュートリアル

>>

以上がPHPのエラーログって何に使うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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