while ループで大きなレコードを処理し、ループの反復ごとに画面の情報が出力されると、いつも古い画面を見ていることに気づきます。アクティビティ アイコンが回転しているだけです。これは、サーバーが何らかのデータを処理していることを示しています。
set_time_limit (3600);
スクリプトの先頭に既にあるため、タイムアウトの問題は発生していません。気になるのは退屈な画面だけです。
ASP (私の出身地) では、response.flush を実行すると、問題が解決されます。ちなみに、ASPではいつもresponse.buffer=trueでバッファリングをONにしています。PHP では、これは非常に議論の余地のある領域です。ob をオンにするかオフにするかは、まだはっきりとわかりません。
ここでは、バッファリングをオンにしていませんob_start
。問題は、なぜ echo がコンテンツをブラウザーにプッシュしないのかということです。
サーバーの while ループが情報を処理するときに、ブラウザが徐々に html チャンクを取得するようにするにはどうすればよいでしょうか?