Нет расширения, которое может загрузить конфигурацию для "web_profiler"
Я новичок в Symfony2 и хочу создать новую среду под названием "dp". Но по некоторым причинам я продолжаю получать ошибки.
FileLoaderLoadException: Cannot import resource "/a/b/c/d/e/app/config/config_dev.yml" from "/a/b/c/d/e/app/config/config_dp.yml".
InvalidArgumentException: There is no extension able to load the configuration for "web_profiler" (in /a/b/c/d/e/app/config/config_dev.yml). Looked for namespace "web_profiler", found "framework", "security", "twig", "monolog", "swiftmailer", "doctrine", "assetic", "sensio_framework_extra", "jms_security_extra", "smarty", "bela_meter", "bela_invoice", "bela_util"
Я следил за инструкциями по Symfony2
Содержимое app/config/config_dp.yml
imports:
- { resource: config_dev.yml }
И web/app_dp.php содержит:
$kernel = new AppKernel('dp', true);
$kernel->loadClassCache();
$kernel->handle(Request::createFromGlobals())->send();
Как я могу это исправить? Конфигурация config_dev.yml работает безупречно.
Ответы
Ответ 1
По умолчанию WebProfilerBundle
загружается только в средах dev
и test
. Найдите этот фрагмент кода в классе AppKernel
:
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
// ...
}
и добавьте новое имя среды в массив:
array('dev', 'test', 'dp')
Ответ 2
В Symfony 4 все очень просто. Просто добавьте новую среду в файл bundles.
Откройте config/bundles.php
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true]
становится
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true, 'YOUR_NEW_ENV' => true]