FastCGIがstderrで送信されました:アップストリームから応答ヘッダーを読み取っているときに「プライマリスクリプトが不明です」



Fastcgi Sent Stderr



fastCGIのサポートをnginxに追加した後、phpページの検証で、ページが認識されていないことがわかりました。状況が明確ではなく、グーグルで検索しました。これはNginxの組み込み変数のせいです。

1.プラットフォームの概要:



1 2 3 4 5 6 OS Version: CentOS release 6.4 (Final) Nginx Version: nginx version: nginx/ 1.4 . 3 PHP Version: PHP 5.5 . 5 (fpm-fcgi) Mysql Version: Server version: 5.6 . 10 -log Source distribution Kernel Version: 2.6 . 32 - 358 .el6.x86_64 IP address: 192.168 . 168.133
1

2、エラーメッセージ:

1 2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: 'Primary script unknown' while reading response header from upstream, client: 192.168.168.1, server: localhost, request: 'GET / HTTP/1.1', upstream: 'fastcgi://127.0.0.1:9000', host: '192.168.168.133'

170203715.jpg



スペーサー.gif

3.エラーの原因と解決策:

メイン構成ファイルの69行目は、呼び出し元のスクリプトファイルへのパスを定義しています。



1 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name

Nginxは/ scriptsパスを認識しないため、phpinfo認証情報は正常に渡されません。次のように変更する必要があります。

1 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name

注意:

$ document_rootは、現在のリクエストのルートコマンドで指定された値を表します。

私たちはシステムのデフォルトのためにここにいます、

1 2 3 4 location / {root /usr/local/nginx/htmlindex index.php index.html index.htm}

したがって、ステートメントは/ usr / local / nginx / htmlディレクトリ内のphpファイルに対して解析されます。

その後、ページビューは再びOKになりました。

170100947.jpg

参考記事:

転載:https://www.cnblogs.com/wanglijun/p/8777945.html