ob_flush不工作

时间:2011-10-26 20:11:52

标签: php output-buffering

我搜索了所有问题,我得到了所有答案和建议,但没有一个帮助过我。

他是我的代码:

<?php

ini_alter("memory_limit", "1024M");
ini_set('display_errors', 0);
ini_set('implicit_flush', 'On'); //Inutil já que usa a funcao,, mas vamo testar
error_reporting(0);
set_time_limit(0);
ob_implicit_flush(true);
ob_end_clean();
while (ob_get_level())
    ob_end_flush();

ob_start();
for ($i = 0; $i < 5; $i++) {
    echo $i . '<br>';
    ob_flush();
    flush();
    sleep(5);
}
echo ini_get('ob_implicit_flush');
die;
?>

只是不起作用。 如果我在while之后使用echo ob_get_level(),则值为零。 在php.ini中,output_buffering值为Off,ob_implicit_flush为On

在我的桌面(ubuntu,apache 2.2,php5.3)工作正常。 但在我的服务器(centos,httpd 2.2,php5.2),不起作用......

任何想法?

1 个答案:

答案 0 :(得分:0)

您的php页面是否已压缩?如果使用gzip在服务器上进行压缩,则无法刷新写入缓冲区。