小编Apr*_*pos的帖子

在PHP中禁用输出缓冲

我有一个任务对象和__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)

正如预期的那样,页面在达到最大执行时间之前不会显示任何内容,此时它会刷新缓冲区.

这已经变得非常令人沮丧.任何人都有什么想法可能导致它缓冲?

php apache xampp buffering

5
推荐指数
1
解决办法
3640
查看次数

标签 统计

apache ×1

buffering ×1

php ×1

xampp ×1