Symfony 3.1.2 & quot; служба ‘profiler’ зависит от несуществующей службы ‘debug.security.access.decision_manager’. & Quot;

После обновления до последней версии Symfony с 3.0.2 до 3.1.2, когда я запускаю команду.

php bin/console cache:clear --env=prod

Теперь я получаю следующую ошибку:

[Symfony \ Component \ внедрение зависимости \ Exception \ ServiceNotFoundException] Сервис «Профилировщик» имеет зависимость от несуществующего сервиса
«Debug.security.access.decision_manager».

Кто-нибудь знает, почему это произойдет, или что я мог сделать, чтобы решить эту проблему? Я могу добавить любую дополнительную информацию по мере необходимости. Заранее спасибо!!!

1

Решение

Проблема была связана с тем, что я включал ресурсы отладки в производственную среду. Я проводил тесты на механизмах кеширования и забыл удалить включение из файлов config.yml и AppKernel.php.

        if (in_array($this->getEnvironment(), ['dev','test','prod'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
//... Extensions From Base
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
}

таким образом, для экземпляра AppKernel необходимо, чтобы для параметра отладки было задано значение true.

$kernel = new AppKernel('prod', true);

В противном случае это вызвало бы первоначальную проблему, которую я задал, чтобы исправить этот вопрос.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]