我有一个任务对象和__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黑客来运行任务管理器,甚至设置一个计划任务来运行这个特定的任务,但输出缓冲也是其他地方的问题.只是有时它会消失.
从一个类似的线程,有人建议看看以下将做什么:
<?php
while (TRUE)
{
echo 'x';
flush();
sleep(1);
}
?>
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,页面在达到最大执行时间之前不会显示任何内容,此时它会刷新缓冲区.
这已经变得非常令人沮丧.任何人都有什么想法可能导致它缓冲?