tl; dr: SQLクエリの実行を待っている間に、いくつかの「ダミースペース」を定期的にブラウザにフィードバックすることは可能ですか?これは、何も返されない間、ブラウザがハングアップしないようにするためです。
長い話:
データベースに対して小さな「Webツール」を作成しました(MS SQL、PDOドライバーを使用)。
時々、私が実行するクエリは長い時間がかかります。
約100秒後、ブラウザは「回転」を停止します。何が原因なのかはまだわかりませんが、FirefoxやChromeでも同じです。スタックはPHP5.3、IIS 6、FastCGIです。PHPでもDB/SQLSRVのタイムアウトでもありません。これらの両方を増やしたためです。また、他のクエリでは、すべての結果をフィードバックするのに時間がかかります。(ヘッダーを書き込み、110秒間冷却してから、フッターを書き込むことで問題を再現できます。ヘッダー部分のみが表示されます。)
現在のクエリの問題は、約200秒間何もフィードバックされないことです。その後、すべてが発生します。しかし、これは、そのスタックに沿った何かが約100秒後にリスニング/受信/送信を停止した場合には役に立ちません。
したがって、質問:スクリプトがSQLが戻るのを待っている間に、ブラウザにダミースペースを少しずつフィードすることは可能ですか?私のネイティブのJavaのタングでは、これは些細なことですが、PHPでは、1つはAFAIKの完全にシングルスレッド(実際には「シングルプロセス」)です。全体としてはるかに時間がかかる他のスクリプトがあるので、このトリクルが機能することはわかっていますが、結果の小さな部分が継続的にブラウザーに返されます。これは問題なくレンダリングされます。