我有一个任务对象,当执行__deconstruct()时,它会在页面的其余部分加载完毕后运行一些较长的清理任务。不幸的是,它缓冲了输出并且在任务完成之前不会发送任何内容(任务中没有打印)。我已经阅读了http://www.php.net/flush并尝试了其中的所有建议。显然,我已经尝试在php.ini中禁用output_buffering。我已经禁用了deflate_module,关闭了zlib压缩,没有mod_gzip。调用flush()或ob_flush()没有效果,启用implicit_flush也没有效果。我只是在Windows Server 2008 R2下运行XAMPP(当前apache 2.2.17,php 5.3.4)。PHP作为模块运行。是的,我可以设置一些小的AJAX hack来运行任务管理器,甚至设置一个计划任务来运行这个特定的任务,但输出缓冲在其他地方也是一个问题。有时候只想让它消失。从类似的线程中,有人建议看看以下内容会发生什么:
<?php
while (TRUE)
{
echo 'x';
flush();
sleep(1);
}
?>
正如预期的那样,页面在达到最大执行时间之前不显示任何内容,此时它会刷新缓冲区。
这变得非常令人沮丧。有人有任何想法,还可能导致缓冲吗?