如何禁用Symfony 2分析器栏?

它没有添加任何东西,它使页面变慢,我希望它消失。 不要问。 关于在网站上的configuration文件没有什么,在应用程序configuration。

这个设置在app/config/config_dev.yml

 web_profiler: toolbar: true intercept_redirects: false 

另外:如果你想在你的控制器中使用这个特殊的动作来禁用它:

 if ($this->container->has('profiler')) { $this->container->get('profiler')->disable(); } 

如果在config.yml中将framework.profiler.collect设置为false ,则不会显示分析器栏(即使web_profiler.toolbar设置为true)。

  framework: profiler: collect: false 

这样,您可以手动select性地激活代码中的收集器,如下所示:

 $this->container->get('profiler')->enable(); 

这里的文档: http : //symfony.com/doc/current/reference/configuration/framework.html#collect

如果自从Symfony 2.5开始创build一个新的Symfony项目,这些参数将在app/config/paramaters.yml

 parameters: # ... debug_toolbar: true debug_redirects: false 

只要将debug_toolbar设置为false

尝试这个

 framework: profiler: { only_exceptions: true } 

在你的app/config/config_dev.yml

为了仍然在/ _profiler输出,但没有工具栏,你可以作弊:

 $request->headers->add(array('X-Requested-With' => 'XMLHttpRequest')); 

这是因为在WebProfilerBundle / EventListener / WebDebugToolbarListener.php中,在注入工具栏之前有一个明确的检查。

如果你担心性能 – 那么你不应该在开发之下运行。 开发也限制caching,并可以拉入额外的捆绑。

运行prod模式并在运行性能testing之前预热caching。

似乎禁用它的另一种方法是在应用程序的路由中没有_dev

所以对于我在Symfony 2的安装过程中,只需稍微改变一下app/conf/httpd-app.conf就可以改变程序:

 RewriteBase /symfony/app_dev.php 

 RewriteBase /symfony/ 

它会保持工具栏不起来。