ホームページ > 運用・保守 > Nginx > nginxでphpのエラーログファイルを出力する方法

nginxでphpのエラーログファイルを出力する方法

王林
リリース: 2023-05-18 16:59:04
転載
1353 人が閲覧しました

Nginx の設定

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
ログイン後にコピー

Testing

テスト時に 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート