2010-12-02 12 views
1

私のアプリケーションがなぜタイムアウトしてしまうのか誰かが助けてくれることを願っていました。 Zend Frameworkを使用してビルドされています。 私は終了するのに数分かかるスクリプトを実行しようとしています。 ローカルマシン(MAMP)では正常に動作しますが、プロードされたサーバ(Ubuntu)ではタイムアウトします。両方のサーバー上の 関連するphp.iniの設定は、次のとおりです。 max_execution_timeは= 600 max_input_time = 600 のmemory_limit = 512M post_max_sizeの= 8MZend Frameworkアプリケーションがタイムアウトして奇妙なメッセージが表示される

それは右のタイムアウトになるまで10分間実行する必要がありますか? Ubuntuのサーバー上では、ブラウザのみの真ん中に印刷されたこのメッセージを表示して、時間を1〜2分間実行します:。

「バックエンドサーバは、時間内に応答しませんでした アプリケーションサーバがビジー状態であると時間内にリクエストを処理できません。

確かにZendメッセージですが、インターネット上ではそれについて何も見つかりません。

ありがとうございました。

+3

zendメッセージではないと思われますが、Googleで一致して合っているのはこれです:http://code.google.com/p/scalr/source/browse/scalarizr/tags/0.6.6/share/nginx/ html/502.html?r = 300 – ajreal

+0

上記に同意します。これはZend Frameworkエラーではありません。 –

答えて

0

ロードバランサ上で実行されているnginxだった。 エラーは、scalrの下で実行されているnginxから来ていました。したがって、"バックエンドサーバーが応答しませんでした。アプリケーションサーバーがビジー状態で、時間内に要求を処理できません。" - scalrエラー。 nginx設定でproxy_read_timeoutの設定が行われると、スクリプトのタイムアウトが中止されました。

上記のscalrリンクをありがとう - 正しい方向に私を指摘しました。

1

このメッセージは、mod_fastcgiのようです。

PHPをFastCGIで実行する(またはFastCGIで実行する)場合、PHPスクリプトはWebサーバーとは別のエンティティです。あなたはPHPプロセスを最大10分間実行するように設定しましたが、Apache/mod_fastcgiは、PHPスクリプトがデータを返すためにある程度の期間だけ待つように設定されています。

アイデアは、あなたがHTTPDのFastCGIの構成セクションへのアクセス権を持っている場合は

を(最終的には、Apacheはリスナーを使い果たすだろう)を返す決して雑草にオフに行く外部プロセスからApacheプロセスを絶縁することです。 conf、-appConnTimeoutまたは-idle-timeoutの値を確認してください。

残念なことに(残念なことに、あなたがホスティング会社のシステム管理者であれば)、これらの設定を.htaccessまたはバーチャルホストごとにオーバーライドすることはできません。少なくとも、ではないthe documentation

+0

お返事ありがとうございます。 mod_fastcgiはサーバーにインストールされていません。かなりそれがscalrから来ていることを確かめてください。私はそれを見ているシステム管理者を持っている。 – LaserWolf

+0

もしfastcgiでないなら、何? PHPとはどのように話していますか?そのエラーメッセージが与えられた場合、私はバニラmod_php – timdev

+0

を実行していると聞いて、非常に驚​​くでしょう。nginxはロードバランサ上でscalrを実行しています。ロードバランサのことを忘れてしまった。 – LaserWolf

関連する問題