为什么我的 PHP 输出缓冲不起作用


Why does my PHP output buffering not work

以前从未使用过输出缓冲,但阅读它似乎非常简单。所以这就是我为测试所做的:

<?php ob_start(); ?>
<p>Welcome to my homepage</p>

问题是脚本实际上正在将段落打印到我的浏览器上,即使我还没有刷新。

这不是应该使用输出缓冲的方式吗?

这是

标准行为。PHP 将刷新任何打开的输出缓冲区作为脚本关闭的一部分。这意味着您不必呼叫ob_flush()或结束/清理呼叫。它只会在脚本执行结束时自动发生。

真正想要强制刷新的唯一情况是,如果您正在构建一个"大"页面并且不希望它占用脚本的内存限制,或者您已经超过了代码中需要执行任何预输出操作的点,例如 header() 调用。