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

PHPz
リリース: 2023-03-28 14:52:50
オリジナル
787 人が閲覧しました

Nginx は、リバース プロキシ サーバー、ロード バランサーなどとして使用できるオープン ソースの高性能 Web サーバーです。 PHP は、動的な Web サイトや Web アプリケーションの開発によく使用されるプログラミング言語です。

Nginx を使用して PHP プログラムをデプロイすると、PHP エラーが発生する可能性があります。トラブルシューティングを適切に行い、問題を解決するには、PHP エラー情報をログ ファイルに記録する必要があります。この記事では、その後のトラブルシューティングと処理を容易にするために、Nginx を使用して PHP エラー ログ ファイルを出力する方法を紹介します。

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

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

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

結論

この記事では、PHP の問題のトラブルシューティングと処理に非常に重要な、Nginx で PHP エラー ログ ファイルを出力する方法を紹介しました。 PHP エラー ログ ファイルを出力するには、まず fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; を Nginx 設定ファイルに追加し、次にログ ファイルを作成して出力をテストします。

以上がnginxでphpのエラーログファイルを出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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