使输出在客户端浏览器上显得更快

时间:2012-05-03 18:28:56

标签: php asp-classic buffer flush output-buffering

当我在while循环中处理大型记录并且循环的每次迭代输出屏幕的一些信息时,我总是发现自己在看旧屏幕。我看到的只是活动图标旋转 - 这表示服务器正在处理一些数据。

我没有遇到超时问题因为我已经在脚本顶部找到了set_time_limit (3600);。这只是让我担心的无聊屏幕。

在ASP(我来自哪里),我去了response.flush,它解决了这个问题。 顺便说一句,在ASP中,我总是使用response.buffer = true打开缓冲。在PHP中,这是一个备受争议的领域,我仍然没有清楚地了解是否应该打开或关闭ob。

在这里,我没有打开ob_start缓冲,问题是为什么不将echo推送到浏览器?

如果服务器处理信息中的while循环,浏览器会逐步获取html块,你会怎么做?

1 个答案:

答案 0 :(得分:0)

禁用输出缓冲,减少php.ini中的缓冲区大小,使用隐式刷新或使用flush()显式刷新。但是如果你必须显示大量数据,那么在处理过多时间时分页你的内容或使用命令行脚本可能更好。