是否有一种方法可以禁用输出缓冲区的自动刷新


Is there a way to disable automatic flush of output buffer

是否有办法在PHP中禁用自动输出缓冲区刷新?我总是可以使用ob_clean(或派生函数之一),但这仍然会使我们遇到代码执行中断的情况。包含缓冲区清理的正确错误处理程序将再次处理大多数错误。但是,如果脚本在执行过程中遇到死亡/退出命令怎么办?它将终止脚本,缓冲区内容仍将自动刷新到客户端。唯一能100%确定的方法似乎是完全禁用自动冲洗。但我不确定如何实现这一点(如果可能的话)。

另一个解决方案是,您可以随时实现您的OWN缓冲区,并在您觉得这样做时刷新…所以你的代码应该以:

开头
$buffer='';

之后,当您计划打印()内容时,只需将print()替换为$buffer。=

一旦决定刷新缓冲区,只需:

print($buffer); $buffer='';

通过这样做,您不仅可以100%控制缓冲区,而且还可以在脚本执行期间设置额外的头,这在某些情况下非常方便…