web-dev-qa-db-ja.com

スクリプトヘッダーの途中終了:index.php、mod_fcgid:読み取りデータのタイムアウトは61秒

単純なクロールスクリプトを(phpで)localhostで(4つのバリエーションで)作成しました。それらはすべてlocalhostで正常に動作しました。しかし、私がそれらを共有ホスティングに移動させたとき、そのうちの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

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

19
Bilal Gultekin

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

31
trante

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

2
Ergec

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

2
user1193694

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

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

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

0
Jason McCreary

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

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

IPCCommTimeout  9999

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

0
Şafak Gezer

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

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

0
datasage

増加 max_execution_time値、つまり:

<?php
ini_set('max_execution_time', 300); # 5 minutes
...
0
Pedro Lobito

以下のように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
0
tquang