Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP刷新所有级别的输出缓冲_Php_Output Buffering - Fatal编程技术网

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

PHP刷新所有级别的输出缓冲,php,output-buffering,Php,Output Buffering,我试图实现一个简单的Http响应类,该类实现Http流(或分块编码)。为了实现这一点,我需要在php.ini中设置output\u buffering=Off,并每隔一定时间刷新输出 除了实际的刷新机制之外,PHP自动完成了这项工作。我已经让它工作了,但我不确定它是否过火了。我想知道如何一次刷新每个级别的输出缓冲,而不调用10亿个函数(我不确定哪些函数在哪些环境/场景中是冗余的) 这是不是太过分了 您不需要ob\u flush()和ob\u end\u flush()。您的while循环就足够了

我试图实现一个简单的Http响应类,该类实现Http流(或分块编码)。为了实现这一点,我需要在php.ini中设置
output\u buffering=Off
,并每隔一定时间刷新输出

除了实际的刷新机制之外,PHP自动完成了这项工作。我已经让它工作了,但我不确定它是否过火了。我想知道如何一次刷新每个级别的输出缓冲,而不调用10亿个函数(我不确定哪些函数在哪些环境/场景中是冗余的)


这是不是太过分了

您不需要
ob\u flush()
ob\u end\u flush()
。您的while循环就足够了

你还应该看看:


ob\u end\u flush()
之后是否需要
flush()
取决于您如何设置此函数。

请注意,如果
output\u buffering=on
的php ini配置打开,这将导致无限循环。
    while (ob_get_level())
    {
        ob_end_flush();
    }

    // print the buffer

    flush();
    ob_flush();