可能重复的问题:
PHP - 如何检测输出缓冲是否已打开
在PHP中如何检查是否设置了output_buffering?我需要解决一个网站的问题,但无法访问托管面板。
类似于:
if(output_buffering == 'On')
{
echo 'It is On';
}
else
{
echo 'It is NOT On';
}
谢谢!
可能重复的问题:
PHP - 如何检测输出缓冲是否已打开
在PHP中如何检查是否设置了output_buffering?我需要解决一个网站的问题,但无法访问托管面板。
类似于:
if(output_buffering == 'On')
{
echo 'It is On';
}
else
{
echo 'It is NOT On';
}
谢谢!
if(ob_get_level() > 0){
//there are some buffers active.
}
$ php -d output_buffering=1 -r'var_dump(ob_get_level());'
int(1)
$ php -d output_buffering=0 -r'var_dump(ob_get_level());'
int(0)
它确实检查是否存在输出缓冲区,而不是 PHP 本身的实际设置。手动的ob_start()
(一个或多个)也会增加级别。通常这比实际的output_buffering
设置更有趣。如果你真的需要那个,请使用ini_get
答案。
if(ini_get('output_buffering')) { echo 'it is on'; }
进行测试,它应该能够正常工作。 - Bogdan Constantinescuini_get('output_buffering') => false; ob_start(); ini_get('output_buffering') => false;
- chriso