2011-04-10 35 views
7

如果php.ini中的output_buffering为ON,是否有一种简单的方法可以在PHP中检测到?我希望能够显示一条消息,如果它没有打开。PHP - 如果输出缓冲打开时如何检测

在我的应用程序中,我尝试使用htaccess文件来自动打开它,但它似乎并不适用于所有服务器环境,并且在某些情况下会出现令人讨厌的错误。

非常感谢!

+2

http://stackoverflow.com/questions/5506411/php-output-buffering-check – 2011-04-10 00:50:33

回答

6

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

ini_get('output_buffering'); 

同样,你可以用ini_set改变大多数INI设置:

ini_set('output_buffering', 'on'); 
+0

太棒了。非常感谢你! – usnidorg 2011-04-10 00:58:04

-2

我觉得你可以去

if(!ob_start()) 
{ 
} 
+1

很抱歉,但阅读手册:'ob_start - 打开输出缓冲' – coreyward 2011-04-10 00:48:16

18

您可以通过执行在php.ini文件访问output_buffering值:

var_dump(ini_get('output_buffering')); 

但我认为你在找什么是ob_get_level()(或ob_get_status()):

var_dump(ob_get_level()); 

返回嵌套输出的水平 缓冲处理程序或如果输出为零 缓冲未激活

1

简单

检查由

echo ini_get('output_buffering'); 

或运行文件调用phpinfo();功能将列出包含值的所有veriables检查列表“output_buffering”的价值。