PHP - 如何检测输出缓冲是否打开

时间:2011-04-10 00:43:42

标签: php output-buffering

有没有一种简单的方法可以在PHP中检测php.ini中的output_buffering是否为ON?如果没有开启,我希望能够显示一条消息。

在我的应用程序中,我尝试使用htaccess文件自动打开它,但似乎它在所有服务器环境中都不起作用,在某些情况下它会产生令人讨厌的错误。

非常感谢!

4 个答案:

答案 0 :(得分:20)

您可以通过执行以下操作访问php.ini文件中的output_buffering值:

var_dump(ini_get('output_buffering'));

但我认为你要找的是ob_get_level()(或ob_get_status()):

var_dump(ob_get_level());
  

返回嵌套输出的级别   缓冲处理程序或输出时为零   缓冲未激活

答案 1 :(得分:7)

您可以使用ini_get方法检查PHP中的任何INI设置。 http://php.net/ini_get

ini_get('output_buffering');

同样,您可以使用ini_set更改大多数INI设置:

ini_set('output_buffering', 'on');

答案 2 :(得分:1)

简单

检查

echo ini_get('output_buffering');

或运行一个调用phpinfo();函数的文件,它将列出包含值的所有变量,检查列表中'output_buffering'的值。

答案 3 :(得分:-3)

我想你可以去

if(!ob_start())
{
}