【问题标题】:ob_flush not workingob_flush 不工作
【发布时间】:2011-10-26 20:11:51
【问题描述】:

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

他是我的密码:

<?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)中,不行……

有什么想法吗?

【问题讨论】:

    标签: php output-buffering


    【解决方案1】:

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

    【讨论】:

    • with @apache_setenv('no-gzip', 1); @ini_set('zlib.output_compression', 0);还是不行
    • 不幸的是,这些标头在某些托管环境中并不总是有效。在转到下一个选项之前,最好确保它没有压缩您的页面。
    猜你喜欢
    • 2011-05-27
    • 2015-06-12
    • 2021-11-01
    • 2017-06-05
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多