[解決済み] FastCGI sent in stderr.をデバッグする方法。Primary script unknown while reading response header from upstream" をデバッグし、実際のエラーメッセージを見つけるにはどうしたらよいですか?
質問内容
SOにはこのエラーコードに言及した記事が多くあります。
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream...
それはおそらく、このエラーメッセージが多かれ少なかれ役に立たないということでしょう。
このメッセージは、FastCGI ハンドラが何らかの理由で送信されたものを好まないことを伝えています。 問題は、その理由が何なのか分からない場合があることです。
そこで、質問をもう一度繰り返します -- どのようにすれば デバッグ このエラーコードは?
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
解決方法は?
質問にお答えします。
- php-fpm.d/www.conf ファイルに記述します。
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の問題です。
-
もし "GET /app.php" が404で表示されたら、nginxはスクリプトファイル名を正しく渡しているが、php-fpmがこのファイルにアクセスできなかったことを意味します(ユーザー "php-fpm:php-fpm" があなたのファイルにアクセスできず、私は3時間トラップされました)。
私の回答がお役に立てれば幸いです。
関連
-
[解決済み】PHP - 構文エラー、予期しないT_CONSTANT_ECAPSED_STRING [閉店].
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み】上流からレスポンスヘッダを読み込む際に、上流が送信したヘッダが大きすぎる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】PHP定数「PHP_EOL」はいつ使うの?
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】 $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて]
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] Forbidden :このサーバーの /phpmyadmin にアクセスする権限がありません。