【问题标题】:PHP Output Buffering Check? [duplicate]PHP输出缓冲检查? [复制]
【发布时间】:2011-07-27 06:11:44
【问题描述】:

可能重复:
PHP - How Detect if Output Buffering is Turned On

如果 output_buffering 设置为 On,我如何检查 PHP?我必须对网站进行故障排除,但我无法访问托管面板。

类似:

if(output_buffering == 'On')
{
    echo 'It is On';
}
else
{
    echo 'It is NOT On';
}

谢谢!

【问题讨论】:

    标签: php output-buffering


    【解决方案1】:
    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

    【讨论】:

      【解决方案2】:

      您应该可以使用ini_get() 执行此操作。我没有测试它,但我很确定它会满足您的需求,因为 ini_get() 用于此目的:检查 php.ini 选项。

      【讨论】:

      • 应该可以用if(ini_get('output_buffering')) { echo 'it is on'; }进行测试
      • 如果从脚本中开始输出缓冲呢? ini_get('output_buffering') => false; ob_start(); ini_get('output_buffering') => false;
      • 问题是关于 php.ini 设置,如您所见。无论如何,在您指定的情况下,Wrikken 的答案肯定是金!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多