2011-12-14 10 views
1

私は開発に時間がかかる、開発しているワードプレス用の関数を持っています。 TMDb(ムービーデータベース)に接続し、すべてのムービーを1つずつid(0〜8000)で取得し、ローカルサーバーに保存されているXMLドキュメントを作成します。 もちろん、時間がかかり、PHPは "504 Gateway Time-out"と言っています。サーバは時間内に応答しませんでした。スクリプトでのPHPサーバのタイムアウト

私は何ができますか?任意のsugestions!

答えて

1

1回限りの実行であり、あなたに爆撃があるとすれば、set_time_limitを0にして実行させることができます。

<?php 
    set_time_limit(0); // impose no limit 
?> 

しかし、私は、これが生産されていないことを確認します、それはあなただけに(そうでない場合は、これが配置(および配置していきます)サーバーに大きな負荷を)それをしたい時に実行されます。

set_time_limit(0); 

スクリプトの先頭に:

+0

ほとんどのサーバーがセーフモードで実行されているため、制限時間を設定できません。私はそれをコード化するいくつかのスマートな方法を探しています、私はPHPで、ほとんど私はアドバイスを探していますthatsの新しいです。このプラグインのスクリプトはdbとの同期のためにちょうど1回実行されます! – Max

+0

@Max:もう一つの選択肢は、ロード中にコンテンツを出力して、「デッド接続」ではないことです。非常に多くの読み込みのたびに、 'echo 'Working ...'を実行できます。 flush();これは完了するまでリスニングクライアントにデータをプッシュし続けます。 –

+0

ありがとうございます! 'フラッシング'するときにキャッシュや何かをクリーニングしていますか?保存されていないXML文書が失われますか?私はプロセスを実行できる時間を延長するのだろうか? – Max

0

は設定してください。しかし、私はそれがサーバーの問題だと思う、あなたはあまりにも長く読む。スレッドモードで読み込んでみてください。

+0

ほとんどのサーバーがセーフモードで実行されているため、制限時間を設定できません。私はそれをコード化するいくつかのスマートな方法を探しています、私はほとんどPHPで新しいです、なぜ私は助言を探しています。 – Max

+0

私はそれが不可能だと思います。もっと時間が必要です。あなたにそれを与えることができるサーバーを検索する – waza123

0

これはスクリプトのタイムアウトには関係しないと思います。

504-ゲートウェイタイムアウトの問題は、バックエンドコンピュータ間のIP通信が遅いことが原因で、Webサーバーを含む可能性があります。

修正: プロキシを使用するか、キャッシュサイズを増やしてください(php.iniで「キャッシュ」を検索してそれを使用してください)。

ドット

関連する問題