PHP flush()函数不起作用


PHP flush() function not working

我正在尝试在脚本仍在运行时回显其输出。gzip压缩关闭。我使用的是Firefox 22

在php.ini中,我设置了以下值:

default_charset = "utf-8"
zlib.output_compression_level = -1
zlib.output_compression = Off
output_buffering = 0
implicit_flush = true

我使用这个例子:

<?php
ob_end_flush ();
//start buffering
ob_start ();
echo str_pad ( '', 1024 ); // minimum start for Safari 
for ( $i = 10; $i > 0; $i --) {
    echo str_pad ( "$i<br>'n", 8 );
    ob_flush ();
    flush ();
    sleep ( 1 );
}
?>

我还试着更换

echo str_pad ( '', 1024 );

带有

echo str_pad ( '', 4096 );  

但它不起作用。关于这个问题有很多话题,但没有保证的方法可以让它发挥作用,其他解决方案也不适合我

有什么方法可以调试这个问题并找到解决方案吗?

我不想使用ajax,因为脚本也需要能够被cron使用。

我的问题是php处理程序,我使用的是suphp,现在我把它改为fastcgi,问题解决了。