加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP刷新所有级别的输出缓冲

发布时间:2020-12-13 16:22:06 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试实现一个实现Http Streaming(或Chunked-Encoding)的简单Http Response类.为了实现这一点,我需要在php.ini中设置output_buffering = Off,并以特定间隔刷新输出. PHP自动完成了这项工作 – 除了实际的刷新机制.我已经开始工作,但我不确定它是否过分
我正在尝试实现一个实现Http Streaming(或Chunked-Encoding)的简单Http Response类.为了实现这一点,我需要在php.ini中设置output_buffering = Off,并以特定间隔刷新输出.

PHP自动完成了这项工作 – 除了实际的刷新机制.我已经开始工作,但我不确定它是否过分了.我想知道如何立即刷新每个级别的输出缓冲,而不需要调用十亿个函数(我不确定哪些环境/在哪些情况下哪些是冗余的).

while (ob_get_level())
    {
        ob_end_flush();
    }

    // print the buffer

    flush();
    ob_flush();

这有点矫枉过正吗?

解决方法

您不需要ob_flush()和ob_end_flush().你的while循环就足够了.

您还应该看看:http://us.php.net/manual/en/function.ob-implicit-flush.php

ob_end_flush()之后对flush()的需求取决于你如何设置这个函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读