SOには、このエラーコードに関する多くの記事があります。
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream...
これはおそらく、このエラーメッセージが多かれ少なかれ役に立たないことを意味しています。
このメッセージは、FastCGIハンドラーが何らかの理由で送信されたものが気に入らないことを示しています。問題は、その理由がわからない場合があることです。
だから私は質問を再統計しています-どうすればいいですかdebugこのエラーコード?
Phpinfo.phpファイルだけの非常にシンプルなサイトがある状況を考えてみましょう。さらに、次のように、非常に単純なnginx構成があります。
server {
server_name testsite.local;
root /var/local/mysite/;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass fastcgi_backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
fastcgi_paramsがスクリプトに送信したものを正確に出力/ログで確認するにはどうすればよいですか?
実際のエラーメッセージを表示するにはどうすればよいですか?私の場合、php-fpmを使用しています。このエラーに関するログには情報がありません。ログは、このエラーの行を追加しません。 php-fpmには冗長モードがありますか?
/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log
Php-fpm.confファイルでこれを設定しようとしました
log_level = notice
これはphp-fpm.d/www.confファイルで:
catch_workers_output = yes
access.logエントリを設定します。
access.log = /var/log/$pool.access.log
php-fpmサービスを再起動します。
あなたのページにアクセスしてみてください
cat /var/log/www.access.logの場合、次のようなアクセスログが表示されます。
- - 10/Nov/2016:19:02:11 +0000 "GET /app.php" 404 - - 10/Nov/2016:19:02:37 +0000 "GET /app.php" 404
正しいphpファイル名なしで「GET /」が表示される場合、nginx confの問題です。
404で「GET /app.php」が表示される場合は、nginxがスクリプトファイル名を正しく渡しているが、php-fpmがこのファイルにアクセスできなかったことを意味します(ユーザー「php-fpm:php-fpm」は、ファイル、私を3時間閉じ込めました)
私の答えがお役に立てば幸いです。
rootの位置とその下のファイルの存在を確認してください。Root path TYPOのためにこのエラーが発生しました。
MacOsユーザーの場合、私の状況のように誰かが遭遇した場合:
私はphpサービスを開始しました:
Sudo brew start php72
「Sudo」のアクセス許可を使用したため、アクセス許可が異なりました。 Sudoなしでphpサービスを停止および開始する必要がありました。
Sudo brew stop php72
brew start php72
希望は誰かに役立ちます。