如何在Symfony2中打开输出缓冲?

时间:2011-08-08 05:18:20

标签: php symfony output-buffering

如何为我的Sf2应用程序的每个请求打开output_buffering?

我需要使用FirePHPBundle,但我更愿意在应用程序范围内使用它。

1 个答案:

答案 0 :(得分:1)

这样做的好地方是在AppKernel的init方法中,框架还会注册各种错误处理程序和调试标志:

class AppKernel extends Kernel
{
...
public function init() 
{
    parent::init(); //do not forget to call this    

    if ($this->debug) {
        ob_start(); 
    }
}
}

这当然只会在开发环境中调用ob_start

你不必担心在这里调用ob_start,因为php手册指出:

  

输出缓冲区是可堆叠的,也就是说,当另一个ob_start()处于活动状态时,您可以调用ob_start()。只需确保调用ob_end_flush()适当的次数。如果多个输出回调函数处于活动状态,则将按嵌套顺序依次过滤每个输出。