Nginx は、トラフィックの多い Web サイトやアプリケーションで広く使用されている Web サーバーおよびリバース プロキシ サーバーです。ただし、Nginx を使用すると、PHP エラーが発生することがあります。この記事では、PHPエラーがオンになる原因とその解決方法を紹介します。
1. 問題の存在
Nginx では、PHP インタープリターを使用するには、PHP-CGI を Nginx にバインドする必要があります。 PHP-CGI と Nginx の間の対話は、FastCGI プロトコルを使用して実現できます。通常の設定どおり、Nginx は PHP-CGI の出力を一時ファイルに書き込み、そのファイルをファイル システム経由で転送します。エラーは Nginx のエラー ログに記録され、フロントエンド ユーザーに送信されます。
Nginx には PHP モジュールが組み込まれていないため、PHP-CGI が正しく設定されていない場合、PHP エラーが正しく表示されない可能性があります。
2. エラー報告の理由
PHP がエラーを報告すると、Nginx はデフォルトで HTTP ステータス コード 502 Bad Gateway を表示します。これは次の理由が考えられます。
3. 解決策
PHP エラーの問題を正しく解決するには、原因を見つけて正しい解決策を見つける必要があります。
PHP-CGI プロセスが実行されているかどうかを確認するには、次のコマンドを使用できます:
ps aux | grep php
そうでない場合 出力が何もない場合は、PHP-CGI が実行されていないことを意味します。 PHP-CGI を再起動する必要がある場合は、次のコマンドを使用できます。
/etc/init.d/php-fpm restart
PHP が-CGI プロセスが Nginx と通信する 正しく通信するには、Nginx 設定ファイルで次の設定を確認する必要があります。
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
Herefastcgi_pass
は、PHP-CGI プロセスのアドレスとポートを指定します。正しくない場合、または開始されていない場合は、結果として、Nginx は PHP-CGI プロセスと通信できません。
PHP-CGI 構成が正しいかどうかを確認するには、/etc/ などの PHP 構成ファイルを開きます。 php5/cgi/php .ini
を開き、次の設定が正しいことを確認します。
display_errors = On error_reporting = E_ALL & ~E_NOTICE
これらの設定により、PHP のエラー表示およびエラー報告機能が有効になります。
Nginx 構成ファイルが正しいことを確認するには、/etc/nginx/ などの Nginx 構成ファイルを開く必要があります。 nginx.conf
を開き、次の設定が正しいことを確認します。
error_log /var/log/nginx/error.log;
この設定により、Nginx のエラー ログ機能が有効になり、エラーの検出とデバッグに役立ちます。
結論
Nginx を使用する場合、PHP エラー報告はよくある問題ですが、これも簡単に解決できます。 PHP-CGI プロセスが実行されていて、Nginx と正しく通信していること、および PHP と Nginx が正しく構成されていることを確認してください。これらの簡単な手順で、PHP エラーの問題を簡単に解決し、サーバーが適切に実行されていることを確認できます。
以上がnginx で PHP エラーレポートを有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。