0

我已经阅读了很多文章并在线进行了研究,但我无法弄清楚为什么这些命令在我的机器上不起作用。代码被执行,但在执行整个脚本时会回显。我正在使用简单的代码对其进行测试,稍后我将轻松地为其他所有内容实现它。这是代码:

ob_start();

echo "Start ...<br />\n";
for( $i = 0 ; $i < 5 ; $i++ )
{
    echo $i."<br />\n";
    ob_flush();
    flush();
    sleep(1);
}
echo "End ...<br />\n";

我尝试使用ob_end_flush(),对我没有任何帮助。我检查了 php.ini 的配置,它说:

output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off

我不知道出了什么问题,我也在 php.net 上阅读过“截至 2012 年 8 月,所有浏览器似乎都显示了一种全有或全无的缓冲方法。换句话说,当 php 运行时,没有内容可以显示。

我的代码错了吗?服务器设置?浏览器?有解决方法吗?

4

2 回答 2

0

虽然我不知道真正的答案,但你可以这样做:

<?php

ob_start();
ob_implicit_flush(false);

echo str_repeat(' ', 1024);

# rest of code here
于 2013-10-16T20:26:59.820 回答
0

你试过了吗?

ob_implicit_flush(true);
于 2013-10-16T20:32:49.483 回答