Подтвердить что ты не робот

Нет расширения, которое может загрузить конфигурацию для "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 работает безупречно.

4b9b3361

Ответ 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]