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"; } ... } ... }
この構成項目は、アクセスされた URL が で終わる場合にのみ適用されます。 php、つまり場所 ~.php$ を使用します。 fastcgi_pass には、PHP FastCGI サーバーのアドレスとポートが設定されます。 fastcgi_param は PHP のパラメータを設定するために使用されます。SCRIPT_FILENAME は PHP スクリプトのパスとファイル名を指定します。デフォルトの FastCGI パラメータを使用するには、fastcgi_params を Nginx に含める必要があります。最後の行は、fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; を追加します。これは、PHP エラー情報を /var/log/nginx/php_errors.log ファイルに記録することを意味します。
PHP エラー情報を記録するログ ファイルを作成するこれは、Nginx の構成後に必要な手順です。ログ ファイルを /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
以上がnginxでphpのエラーログファイルを出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。