ACs*_*ACs -5 php output-buffering
output_bufferingini 变量的值在 php.ini中到底是什么意思?在我们的旧服务器上,它被设置为 1
output_buffering = 1
Run Code Online (Sandbox Code Playgroud)
有了这个设置,我可以打电话
ob_clean();,它就像一个魅力。但是,我们将系统移到了输出缓冲设置为 4096 的新服务器上:
output_buffering = 4096
Run Code Online (Sandbox Code Playgroud)
有了这个,调用ob_clean();没有任何效果,直到我明确地开始我的代码的开头ob_start();(似乎在另一台具有 output_buffering=1 的服务器上它被隐式调用)。
output_buffering 布尔值/整数
您可以通过将此指令设置为“On”来为所有文件启用输出缓冲。如果您希望将缓冲区的大小限制为特定大小 - 您可以使用最大字节数而不是“On”作为该指令的值(例如,output_buffering=4096)。该指令在 PHP-CLI 中始终处于关闭状态。
来自PHP 手册
这意味着:
0false/off,因此禁用输出缓冲。1true/on,以便启用输出缓冲并且没有设置限制(至少在此范围内)到最大缓冲区大小。>1是自定义输出缓冲区大小的最大字节数。因此,PHP.ini 配置中的上述选项是:
Run Code Online (Sandbox Code Playgroud)output_buffering= 0 / 1 / 1+