Он ничего не добавляет и замедляет работу страницы, и я хочу, чтобы он исчез. Не спрашивай. На веб-сайте мало информации о профилировщике и ничего в конфигурации приложения.
Как отключить панель профилировщика Symfony 2?
Ответы (8)
Этот параметр находится в app/config/config_dev.yml
:
web_profiler:
toolbar: true
intercept_redirects: false
Дополнительно: если вы хотите отключить его для специального действия в вашем контроллере, используйте это:
if ($this->container->has('profiler'))
{
$this->container->get('profiler')->disable();
}
$request->headers->add(array('X-Requested-With' => 'XMLHttpRequest'));
Это потому, что в WebProfilerBundle/EventListener/WebDebugToolbarListener.php есть явная проверка этого перед внедрением панели инструментов.
- person Radu C; 01.02.2016
Если вы установите 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
Если вы создали новый проект Symfony начиная с Symfony 2.5, эти параметры устанавливаются в 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 есть явная проверка этого перед внедрением панели инструментов.
Если вы беспокоитесь о производительности - тогда вам не стоит запускать под dev. Dev также ограничивает кеширование и может использовать дополнительные пакеты.
Запустите в режиме prod и прогрейте кеш, прежде чем запускать тесты производительности.
Другой способ, который, по-видимому, отключает его, заключается в том, чтобы не иметь _dev
в маршрутизации приложения.
Так что для меня при установке Symfony 2 битнами, просто слегка изменив app/conf/httpd-app.conf
, это изменило бы программу:
RewriteBase /symfony/app_dev.php
to
RewriteBase /symfony/
и это не позволит панели инструментов появиться.