После обновления до последней версии Symfony с 3.0.2 до 3.1.2, когда я запускаю команду.
php bin/console cache:clear --env=prod
Теперь я получаю следующую ошибку:
[Symfony \ Component \ внедрение зависимости \ Exception \ ServiceNotFoundException] Сервис «Профилировщик» имеет зависимость от несуществующего сервиса
«Debug.security.access.decision_manager».
Кто-нибудь знает, почему это произойдет, или что я мог сделать, чтобы решить эту проблему? Я могу добавить любую дополнительную информацию по мере необходимости. Заранее спасибо!!!
Проблема была связана с тем, что я включал ресурсы отладки в производственную среду. Я проводил тесты на механизмах кеширования и забыл удалить включение из файлов 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);
В противном случае это вызвало бы первоначальную проблему, которую я задал, чтобы исправить этот вопрос.
Других решений пока нет …