スクリプトヘッダーの早すぎる終了:index.php、mod_fcgid:61秒での読み取りデータタイムアウト

Premature end of script headers: index.php, mod_fcgid: read data timeout in 61 seconds


質問 written by kenorb @2016-04-06 21:29:04Z

: 17 : 7 : 36

ローカルホストで(PHPで)簡単なクロールスクリプトを作成しました(4つのバリエーションがあります)。 それらはすべてローカルホストで正常に機能しました。 しかし、私がそれらを共有ホスティングに移動させたとき、そのうちの2つが内部サーバーエラーを引き起こして働いていました。 error_logを見て、次の行を見ました。

[Wed Jan 23 22:01:02 2013] [warn] [client ***] mod_fcgid: read data timeout in 61 seconds
[Wed Jan 23 22:01:02 2013] [error] [client ***] Premature end of script headers: index.php

検索しましたが、有用な結果が見つかりませんでした。 これらのエラーに関連するものは何ですか? 何か案は?

回答 1 written by trante @2013-04-10 16:31:38Z
30

Linuxサーバーにアクセスできる場合は、vimを使用して/etc/httpd/conf.d/fcgid.confファイルを編集してください。
FcgidIOTimeout 45FcgidIOTimeout 600変更します。
Apacheを再起動します。
その後、高速CGIタイムアウトが解決されます。

コメント 1

これが人生、宇宙、奇妙なタイムアウトに対する答えです!それは受け入れられたものでなければなりません。

written by エンレイ14 @2014-12-09 11:17:09Z

コメント 2

@enrey hilaariousss:D

written by ゴーゴリ @2016-09-07 16:11:06Z

コメント 3

この回答がスタックにない場合は夢中になります!ありがとう

written by -Anyone_ph @2017-01-01 21:10:3​​6Z

コメント 4

600秒は10分です。これに時間がかかるスクリプトを使用している場合、他の場所(特にユーザー自身)でもタイムアウトになる可能性があります。

written by ロアイマ @2017-01-17 11:11:49Z

コメント 5

あなたのためのクレイジーな質問:configがFcgidMaxRequestLenFcgidBusyTimeoutの両方を定義し、* FcgidIOTimeout *ではない場合はどうでしょうか?定義されていない場合、デフォルト値はありますか?

written by パラプルー @2017-09-12 18:22:11Z

回答 2 written by user1193694 @2014-06-11 18:37:00Z
2

Drupal7をインストールしたMediaTemple Gridインスタンスでこの問題が発生しました。 FastCGIが原因であることが判明しました。 通常/安定したCGIに切り替えると、問題が修正されたようです。

コメント 1

Mediatempleの私のサイトもそれを修正

written by Kamel Labiad 14年 @2014-10-16 10:57:06Z

回答 3 written by Ergec @2015-12-14 08:42:39Z
2

仮想ホストを使用している場合(私の場合はispconfigを使用しています)、仮想ホストの構成ファイルを変更する必要があります。 これらのファイルは、各仮想ホストの/etc/httpd/conf/sites-availableます。 目的の構成ファイルを編集し、 IPCCommTimeoutを見つけて、現在の値をより大きな数値に設定するだけです。 通常のサイトとSSLサイトがある場合は、同じ構成ファイルの両方の変数に対してこの変更を行う必要があります。

回答 4 written by datasage @2013-01-23 20:19:13Z
0

基本的に、サーバーの構成にはスクリプトの実行時間が長すぎます。 mod_fcgidはphpが応答するのを待機しており、61秒後にあきらめるように設定されています。 この共有ホスティングのため、変更できない場合があります。

とにかく、これはブラウザ/ウェブサーバー経由で実行されるべきものではありません。 コンソールスクリプトとして記述します。

回答 5 written by tquang @2014-09-05 04:48:59Z
0

以下のようなmod_fcgidに問題がある場合:_mod_fcgid:XX秒でデータタイムアウトを読み取ります_mod_fcgid:プロセススロットを適用できません

これらの問題を優先して修正してください:

_Increasing the memory limit of php (default 128M, up to 256, 384, ... then restart apache anh check it again)
_Increasing the time out of FCGI, but not need if above is ok
回答 6 written by Jason McCreary @2014-09-29 12:50:30Z
0

61秒でのデータタイムアウトの読み取り

彼らはタイムアウトしました。 実行時間が60秒に設定されている可能性があります。 そのため、61秒でプロセスが強制終了されたため、 途中で終了しました

タイムアウトを調整するか(推奨されません)、別のソースからスクリプトを実行できます(推奨)。

コメント 1

沈黙の中で投票しないでください。

written by ジェイソンマククリーリー @2014-05-07 13:03:20Z

コメント 2

答えはまったく役に立たず、タイムアウトがタイムアウトしたことを言っていません。私の実行時間は150秒ですが、それでも31でタイムアウトします。

written by enrey14年 @2014-12-09 11:20:34Z

コメント 3

質問は、修正方法ではなく、エラーの原因に焦点を合わせましあなたの質問と、投票に、メッセージがmod_fcgidによってスローされたことを考慮して、FastCGIタイムアウトを調整する必要がmod_fcgidます。トランテの答えが どのようになっているかを説明するので、そこから始めます

written by ジェイソンマク @2014-12-09 14:14:16Z

回答 7 written by Şafak Gezer @2015-03-08 11:41:34Z
0

mod_cfgidは、PHPスクリプトの実行中に、PHPのmax_execution_time以外の時間制限を導入します。 どちらが先に「勝ち」ます。

私の知る限り、mod_cfgidが考慮する時間制限の構成項目は数多くあり、どちらがどちらを行うのかを知るのは専門家ではありませんが、少なくともこの場合は次の行を追加します

IPCCommTimeout  9999

fcgid.conf 、予期しないタイムアウトの問題を解決しました。