Nginx は、リバース プロキシ サーバー、ロード バランサーなどとして使用できるオープン ソースの高性能 Web サーバーです。 PHP は、動的な Web サイトや Web アプリケーションの開発によく使用されるプログラミング言語です。
Nginx を使用して PHP プログラムをデプロイすると、PHP エラーが発生する可能性があります。トラブルシューティングを適切に行い、問題を解決するには、PHP エラー情報をログ ファイルに記録する必要があります。この記事では、その後のトラブルシューティングと処理を容易にするために、Nginx を使用して PHP エラー ログ ファイルを出力する方法を紹介します。
PHP エラー ログ ファイルを出力するには、Nginx 設定ファイルにいくつかの設定項目を追加する必要があります。 CentOS システムでは、Nginx 構成ファイルは通常 /etc/nginx/nginx.conf にあります。ファイル内の http モジュールの構成セクション (通常はファイルの先頭) を見つけて、次の構成項目を追加します。
http { ... server { ... location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; # error log fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; } ... } ... }
location ~ .php$ は、末尾の URL にアクセスする場合にのみ使用されることを意味します。 .php 設定項目を使用します。 fastcgi_pass は、PHP の FastCGI サーバーのアドレスとポート番号を指定します。 fastcgi_param は PHP のパラメータを設定するために使用されます。SCRIPT_FILENAME は PHP スクリプトのパスとファイル名を指定します。 include fastcgi_params は、デフォルトの FastCGI パラメータを使用するように Nginx に指示します。最後の行は、fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; を追加します。これは、PHP エラー情報を /var/log/nginx/php_errors.log ファイルに記録することを意味します。
Nginx を構成した後、PHP エラー情報を記録するログ ファイルを作成する必要があります。ログ ファイルを /var/log/nginx/php_errors.log に保存するとします。次のコマンドを使用してファイルを作成できます:
sudo touch /var/log/nginx/php_errors.log
次に、次のコマンドを使用して所有者と権限を変更します。ファイルの内容:
sudo chown nginx:nginx /var/log/nginx/php_errors.log sudo chmod 644 /var/log/nginx/php_errors.log
テスト時に PHP スクリプトを作成すると、エラーが発生します。例:
<?php echo 1/0; ?>
これを保存します。スクリプトを test.php として作成し、Nginx の Web ルート ディレクトリ (例: /usr/share/nginx/html/test.php) に配置します。ブラウザで http://localhost/test.php にアクセスすると、PHP エラーが表示されます。次に、次のコマンドを使用してログ ファイルの内容を表示します。
sudo tail /var/log/nginx/php_errors.log
すべてが正常であれば、次のようなエラー メッセージが表示されるはずです。
[17-Oct-2021 20:52:42 UTC] PHP Warning: Division by zero in /usr/share/nginx/html/test.php on line 2
この記事では、PHP の問題のトラブルシューティングと処理に非常に重要な、Nginx で PHP エラー ログ ファイルを出力する方法を紹介しました。 PHP エラー ログ ファイルを出力するには、まず fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; を Nginx 設定ファイルに追加し、次にログ ファイルを作成して出力をテストします。
以上がnginxでphpのエラーログファイルを出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。