0

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

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

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

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

当服务器中的 while 循环处理信息时,您如何使浏览器逐步获取 html 块?

4

1 回答 1

0

禁用输出缓冲,减少 php.ini 中的缓冲区大小,使用隐式刷新或显式刷新使用flush(). 但是,如果您必须显示大量数据,则在处理需要太多时间时对内容进行分页或使用命令行脚本可能是一个更好的主意。

于 2012-05-03T19:04:23.840 回答