nginx で php ファイルを実行できない問題の解決策: まず「php-fpm.conf」を見つけて「listen」項目を設定し、次に nginx の対応する設定を変更します。
この記事の動作環境: linux5.9.8 システム、PHP7.1 バージョン、DELL G3 コンピューター
なぜできないのかnginx で php ファイルを実行できますか? どうすればよいですか? nginx php-fpm の設定が不適切なため、php ファイルの実行に失敗しました。
長い間自分の Web サイトにアクセスしていませんでした。今日は見に行ったところ、50x のエラーが見つかりました。
この Web サイトは nginx によって提供されています。
インターネット上の多くの状況は、nginx 設定の
location ~ .php$ { # root html; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
部分の問題によって引き起こされています。キーワード検索で見つかる問題のほとんどは、
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# の設定が間違っていることを説明しています。 ## 一部。 しかし、私の構成は正しいです。 サーバー
service php-fpm status上で正常に動作しています。
php ./index.phpも通常通り実行できます。 問題は次の場所に閉じ込められています
fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;つまり、nginx は .php スクリプトを実行するための php-fpm を見つけることができません。 それでは、php-fpm.sock はどこにあるのでしょうか? それは、php-fpm.conf の設定によって異なります。 インターネットでキーワード検索を変更して、ようやく有益な情報を見つけました。fastcgi_pass の設定は、php-fpm.conf の listen 設定に従って決まります。 わかりました。次の質問は、php-fpm.conf を見つけてリッスン項目を設定することです。一部のサーバーは、php-fpm.conf で直接設定を提供しません。しかし、そのような文があります
include=/etc/php-fpm.d/*.conf次に、対応する php-fpm.d ディレクトリに移動して conf 私のものは www.conf 最後に ## を見つけました#
listen = /var/run/php-fpm/php-fpm.sock
内で nginx に移動し、対応する設定を変更しました。
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
インターネット上には多数の
fastcgi_pass unix:/var/run/php-fpm.sock;
がありますが、これは php-fpm.conf の php-fpm.sock 設定によって異なります。
質問を記録してください。問題が発生しても慌てず、もっと考えて、もっと検索してください。素晴らしいことがたくさん見つかります。
検索には思考が必要で、やみくもに行き止まりに陥っても答えは見つかりませんし、問題分析能力も向上しません。
推奨学習: 「
PHP ビデオ チュートリアル」
以上がnginx で php ファイルを実行できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。