PHP刷新所有级别的输出缓冲
我试图实现一个简单的Http响应类,该类实现Http流(或分块编码)。为了实现这一点,我需要在php.ini中设置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循环就足够了
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();