【发布时间】:2015-01-08 19:22:23
【问题描述】:
我有一个脚本曾经在 PHP5.3 中工作,用于处理特定日志文件的缓冲,但在服务器升级到 PHP5.5 后它不再工作。输出需要是 html,所以我希望在每次回显后简单地刷新输出。
这是以前工作的代码的缩减测试版本...
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); }
ob_implicit_flush(1);
set_time_limit(0);
echo 'Start ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . '<br />';
flush();
ob_flush();
sleep(1);
}
echo 'End<br />';
我怀疑@ini_set 命令并没有覆盖设置,我只是希望有一个简单的示例来刷新输出缓冲区。大多数在线示例都是 6 年前的,但没有一个有效。我读到缓冲是用 PHP5.4 重写的,所以我想知道这是否也是罪魁祸首。
【问题讨论】:
-
您是否考虑到某些浏览器需要至少看到 1024 字节的输出才能发送任何内容?冲还是不冲?
标签: php output-buffering