ホームページ >バックエンド開発 >PHPの問題 >nginxがphpファイルを読み込まない原因と解決策【まとめ】

nginxがphpファイルを読み込まない原因と解決策【まとめ】

PHPz
PHPzオリジナル
2023-04-03 14:10:262754ブラウズ

nginx サーバーは、Apache などの従来のサーバー ソフトウェアよりも効率的な軽量の Web サーバー ソフトウェアです。静的 HTML ページにサービスを提供するだけでなく、リバース プロキシ、ロード バランシング、その他の高度な機能としても使用できます。 。ただし、実際のアプリケーションでは、Nginx サーバーが PHP ファイルを正常に読み込めない場合があり、Web サイトの運用や開発に一定の影響を及ぼします。この記事では、一般的な原因と解決策を主に説明し、皆様のお役に立てれば幸いです。

1. Nginx 設定ファイルを確認する

Nginx が PHP ファイルを読み込めない理由は、多くの場合、設定ファイルに問題があることが原因です。この問題は、次の側面から確認して解決できます:

  1. Nginx 構成ファイル内の PHP インタープリターのパスが正しいかどうかを確認し、間違っている場合は変更します:
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;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}

上記は、一般的なnginx設定ファイルのPHP設定パラメータコードです。

  1. パスが存在するかどうかを確認してください。 PHP インタープリターのパスに問題がある場合、Nginx は PHP インタープリターを見つけることができないため、インタープリターのパスを変更するか、PHP を再インストールすることで問題を解決する必要があります。

2. PHP と PHP-FPM をインストールする

Nginx 設定ファイルに問題がないにもかかわらず、PHP ファイルを処理できない場合は、PHP と PHP を再インストールできます。 -FPMはこの問題を解決します。具体的な手順は次のとおりです。

  1. PHP の古いバージョンをアンインストールします。 PHP をインストールしているが、そのバージョンが現在必要なものと異なる場合は、古いバージョンをアンインストールして新しいバージョンをインストールする必要があります。コマンドは次のとおりです。
sudo apt-get remove php
  1. 新しいバージョンの PHP をインストールします。新しいバージョンをインストールする前に、オペレーティング システムとサーバーが新しいバージョンの PHP をサポートしているかどうかを確認してください。コマンドは次のとおりです:
sudo apt-get install php5-fpm
  1. Nginx を再起動します。上記の操作が完了したら、PHP ファイルを正常にロードできるように、Nginx サーバーを再起動する必要があります。コマンドは次のとおりです:
sudo service nginx restart

3. Nginx のデフォルト設定を変更する

PHP および PHP-FPM の新しいバージョンを再インストールしても、PHP ファイルをまだロードできない場合通常、この問題を解決するには、Nginx のデフォルト構成ファイルを変更してみてください。具体的な手順は次のとおりです。

  1. Nginx のデフォルト構成ファイルを見つけます。コマンドは次のとおりです。
sudo nano /etc/nginx/sites-available/default
  1. ファイル内の PHP 設定を変更します。 php の sock ファイルを設定する必要があります。コードは次のとおりです:
location ~ \.php$ {
  try_files $uri =404;
  fastcgi_index index.php;
  fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}
  1. 変更を保存し、Nginx サーバーを再起動します。コマンドは次のとおりです。
sudo service nginx restart

4. まとめ

上記の操作を通じて、Nginx が PHP ファイルを読み込めない問題の解決方法について、皆さんはより深く理解できたと思います。 Nginx 構成ファイルを確認するか、PHP および PHP-FPM の新しいバージョンをインストールするか、Nginx のデフォルト構成ファイルを変更するかによって、この問題を正常に解決できる可能性があります。ただし、問題が発生した場合にすぐに復元できるように、上記の操作を実行する前に構成ファイルとデータをバックアップしてください。同時に、不適切な操作によって引き起こされる予期せぬ結果を避けるために、システム操作を実行する前に全員が関連知識を理解することをお勧めします。

以上がnginxがphpファイルを読み込まない原因と解決策【まとめ】の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。