2012-01-05 4 views
36

Это ничего не добавляет, и это делает страницу медленнее, и я хочу, чтобы она исчезла. Не спрашивайте. Немного о профилировщике на сайте и ничего в конфигурации приложения.Как отключить брандмауэр Symfony 2?

+1

Он появляется только в dev, и есть много чего, что делает страницу медленнее (в dev env): я думаю, что это не стоит;) – KingCrunch

ответ

81

Этот параметр находится в app/config/config_dev.yml:

web_profiler: 
    toolbar: true 
    intercept_redirects: false 
+2

В качестве комментария для будущих разработчиков. Этот ответ является лучшим, если вы хотите «ОТКЛЮЧИТЬ» REDIRECTS в режиме dev и сможете отлаживать POST и так далее.Просто intercept_redirects: true, и он будет работать: D –

76

Дополнительно: если вы хотите, чтобы отключить его для особого действия в контроллере, чем использовать это:

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

+1, очень полезно :-) – richsage

+0

+1 только то, что я искал! – coder4show

+0

+1, отлично! – sickelap

4

Попробуйте

framework: 
    profiler: { only_exceptions: true } 

в вашем app/config/config_dev.yml

0

Если вы беспокоитесь о производительности - тогда вы не должны работать под dev. Dev также ограничивает кеширование и может втягивать дополнительные пакеты.

Запуск в режиме prod и нагревание кеша перед выполнением тестов производительности.

+0

Я не знаю, почему это произошло, это правильная, полезная информация, которая решает вопрос. – NDM

+0

нет его нет, он не отвечает на вопрос OP, если функциональность, предоставляемая профилировщиком, не нужна, то она ничего не делает, кроме замедления среды разработки. – user3531149

13

Если вы установили framework.profiler.collect в false в свой config.yml, панель профилировщика не будет отображаться (даже если для параметра web_profiler.toolbar установлено значение true).

framework: 
    profiler: 
     collect: false 

Это то позволяет выборочно активировать коллекторы в вашем коде вручную, как это:

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

Документация здесь: http://symfony.com/doc/current/reference/configuration/framework.html#collect

+0

(Это противоположность столь же действительного подхода, принятого в ответе @ besnik .) – Alex

5

Если вы создали новый проект Symfony, так как Symfony 2.5, эти параметры установлены в app/config/paramaters.yml

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

Просто установите debug_toolbar на false.

-1

Другой способ, который, кажется, отключает его, заключается в отсутствии _dev в маршрутизации приложения.

Так что для меня в BitNami установки Symfony 2, просто изменив app/conf/httpd-app.conf немного это изменит программу:

RewriteBase /symfony/app_dev.php 

к

RewriteBase /symfony/ 

и будет держать панель инструментов придумывают ,

2

Чтобы еще получить выход в/_profiler, но без панели инструментов, вы можете обмануть:

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

Это потому, что в WebProfilerBundle/EventListener/WebDebugToolbarListener.php есть явная проверка этого перед инъекцией панели инструментов.