失败的原因首先是你没有调用函数 活动缓冲区或由于某种原因无法删除缓冲区 (可能是特殊缓冲区)
这个特殊的缓冲区是什么?
现在,为了清理所有缓冲区,我有这样的代码
while (@ob_end_clean());
但如果由于某种原因它应该遇到“特殊缓冲区”,这可能会产生无限循环。
答案 0 :(得分:1)
再次从手册http://php.net/manual/en/function.ob-start.php
我认为特殊缓冲区可能会引用通过ob_start()
创建的缓冲区,其中包含chunk_size
或erase
等特定参数。
<强> CHUNK_SIZE 强>
如果传递了可选参数chunk_size,则缓冲区将为 在任何导致缓冲区长度的输出调用之后刷新 等于或超过chunk_size。默认值0表示输出 只有在输出缓冲区关闭时才会调用函数。
<强>擦除强>
如果可选参数erase设置为FALSE,则缓冲区不会 删除直到脚本完成。这导致潮红和 清理函数会发出通知,如果被调用则返回FALSE。