-1
<?php
ini_set('output_buffering','0');
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo $i . '<br />';
    flush();
    ob_flush();
    sleep(1);
}
echo 'End ...<br />';
?>

在上面的代码中,我试图设置output_bufferingoff,但它不起作用。

输出在脚本执行结束时回显。

4

2 回答 2

0

默认情况下,输出缓冲值设置为“0”。

于 2013-06-06T06:11:10.113 回答
0

而不是使用ob_flush,只需ob_end_flush在脚本的开头使用来删除输出缓冲区。

此外,声明页面的字符编码,以便浏览器可以立即显示您的输出,而无需先查看数百个输入字节:

header('Content-Type: text/html; charset=utf-8');

如果您的脚本仍然无法运行,则 Web 服务器是 Apache,您可以创建一个.htaccess文件,尝试使用以下内容进行操作:

php_flag zlib.output_compression Off

顺便说一句,ini_set是没用的,你还应该包含htmlheadbody元素。至少对于 Firefox,包括这些元素也解决了这个问题:

echo '<!DOCTYPE html><html><head><title>test</title></head><body>';
// ...
echo '</body></html>';
于 2013-06-06T06:35:52.167 回答