IIS 7.5 で実行されている php アプリケーション、php 5.4 が fastcgi として実行されています。アプリケーションは、長時間実行されている php スクリプトがハングしているように見えることを除いて、まったく問題なく動作します。500 エラーはなく、完了していないように見え、ブラウザに結果が返されます。
メイン アプリでプログラミング エラーが発生する可能性を排除するために、以下に簡単なテスト スクリプトを作成しました。
<?php
/* test timeout */
/*set_time_limit(110);*/
echo "Testing time out in seconds\n";
for ($i = 0; $i < 175; $i++) {
echo $i." -- ";
if(sleep(1)!=0)
{
echo "sleep failed script terminating";
break;
}
}
?>
175 秒を超えてスクリプトを実行すると、ハングします。その下では、ブラウザに結果が返されます。
以下は、php と fastcgi に設定したタイムアウト パラメータです。また、さまざまなタイムアウトエラーを発生させるためにこれらを非常に低く設定して遊んでみましたが、成功したため、欠落している別の設定があるという結論に達しました..おそらく.
私の推測が間違っている場合は訂正してください。ただし、スクリプトがタイムアウトした場合、スクリプトが完了前に IIS によって強制終了されたかのように、ブラウザに何も返されず、何を取得するかのように、ブラウザでエラーが発生すると言っても過言ではありません。ブラウザに関する限り、ハングしているように見えますか?
fastcgi
activity timeout=800 Idle Timeout = 900 request Timeout 800
Php
max_execution_time=700