開発、運用、保守のプロセスでは、エラーが発生することがよくあります。特に PHP 開発では、エラー メッセージがページの小さな領域にのみ表示されたり、サーバー ログに記録されたりするため、エラーのトラブルシューティング プロセスが困難になることがあります。この記事では、開発者が問題を迅速に特定して解決できるようにするために、PHP エラー ログを表示する方法を紹介します。
1. 一般的な PHP エラー シナリオ
PHP コードでエラーが発生すると、システムは例外をスローします。通常、PHP はブラウザーからエラー メッセージを出力します。ロギング機能を有効にすると、エラー情報もエラーログファイルに記録されます。ただし、この方法は開発環境でのみ機能し、運用環境では機能しません。
PHP 構成ファイルで、セミコロンや括弧の欠落などによる構文エラーが発生する場合があります。より深刻なエラーは、ブラウザへのエラー メッセージの出力など、構成ファイルのセキュリティ上の問題です。これらの誤った情報は、攻撃者によって攻撃を実行するために使用される可能性があります。構成エラーが発生した場合、通常はアプリケーションにアクセスするとすぐにフィードバックが得られます。
PHP は、データベース接続、キャッシュなど、多くの機能を拡張ライブラリの形式で実装します。拡張ライブラリのインストールと使用に問題がある場合、アプリケーションが正しく動作しなくなる可能性があります。この種のエラーでは通常、PHP ログ ファイルを調べて問題の場所を正確に見つける必要があります。
2. PHP エラー ログの保存場所
PHP エラー ログの場所は、PHP 設定ファイル (php.ini) に設定された値によって異なります。 PHP エラー ログ、アクセス ログ、その他のログの場所は php.ini ファイルで設定できます。
PHP エラー ログは次の 2 つの方法で設定できます。
php.ini ファイルに log_errors = を設定します。 On は、PHP エラー ログ スイッチをオンにします。
php.ini ファイルで error_log を設定して、PHP エラー ログの保存場所を指定します。例: error_log = "/var/log/php_error.log"。エラーが発生すると、PHP は指定されたファイルにエラー メッセージを書き込みます。
通常、PHP エラー ログは、オペレーティング システムまたは Web サーバーのデフォルトのログ ディレクトリに保存されます。一般的なストレージ パスは次のとおりです:
デフォルトのシステム ログ パス: /var/log/messages または /var/log/syslog;
Apache Web サーバー エラー ログ パス: /var/log /httpd/ error_log;
Ngnix Web サーバー エラー ログ パス:/var/log/nginx/error.log;
PHP-FPM ログのデフォルト パス:/usr/local/php/ var/log/ php-fpm.log;
アクセスログには、アプリケーションのすべてのアクセス記録が記録されます。アクセス ログは、php.ini ファイルで access.log と access.format を設定することによって有効にして構成することもできます。例:
access.log = "/var/log/php_access.log"
access.format = "%h %l %u %t \"%r\" %> ; s %b \"%{Referer}i\" \"%{User-Agent}i\""
上記の設定では、アクセス ログの保存場所と記録方法を指定します。ユーザーがアプリケーションにアクセスすると、指定したログファイルにアクセス情報が記録されます。
3. PHP エラー ログを確認する
アプリケーションへのアクセス時にエラーが発生した場合、これらのエラー メッセージが PHP エラー ログ ファイルに書き込まれる場合があります。近年、アプリケーションのセキュリティと安定性を向上させるために、エラー出力を無効にする Web サイトが増えています。したがって、PHP エラーが発生した場合は、PHP エラー ログを表示してエラー メッセージを見つけることができます。
PHP エラー ログには通常、次のような多くの情報が含まれています。
エラー タイプエラー タイプ。
メッセージ エラーメッセージ。
ファイル PHP ファイルのパス。
Line 行番号。
時間のタイムスタンプ。
このうち、タイムスタンプは、このエラーが発生した時刻を示します。 PHP エラー ログを表示するには、ターミナル コマンド ラインで次のコマンドを実行します。
tail -f /var/log/php_error.log
上記のコマンドは、最後の 10 件を出力します。 php_error.log ファイル行の文字を抽出し、出力ステータスを保持することで、エラー ログをリアルタイムで表示するように設定できます。
PHP ログを表示する場合、スクリプトを使用してフィルタリングすることもできます。たとえば、ログ内の「curl」変数に関連するエラーのみを検索したい場合は、次のコマンドを使用できます:
cat /var/log/php_error.log | grepcurl
このコマンドは、php_error.log ファイルで「curl」関連のエラー メッセージを検索します。
4. 結論
PHP アプリケーション開発において、エラーのトラブルシューティングは不可欠なタスクです。エラーの種類とエラーの場所に応じて、適切なログ記録方法を選択すると、開発者が問題を効果的に特定して解決するのに役立ちます。この記事では、PHP エラー ログの保存場所と PHP エラー ログを表示する方法について詳しく説明します。これらのヒントは、開発者がバグをより迅速に特定して修正し、プログラムの安定性を向上させるのに役立ちます。
以上がPHPエラーログの見方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。