Как исправить ошибку при попытке использования консоли в Symfony?
Добрый день. Ко мне обратился товарищ с просьбой внести несколько исправлений на сайте, работающем на Symfony. Я в этом фреймворке не разбираюсь совсем, но согласился попробовать помочь.
Первым делом решил выяснить хотя бы на какой версии работает сайт, по гуглу нашел команду
"php bin/console --version"
которую надо ввести в терминале, находясь в папке проекта. Пробую, получаю ошибку:
"In AppKernel.php line 70: The theme 'dev' is not supported"
приехали ) пробовал опять же погуглить, но на вскидку похожих проблем не нашел. Возможно местные спецы подскажут в чем дело и как можно это исправить? Причем то же самое система отвечает и на попытку например очистить кеш
"php bin/console cache:pool:clear"
Дело в том что я попробовал поправить файлик одного из шаблонов и как понял без сброса кеша изменения на сайте не отобразятся. Но проблема, как я уже сказал выше, такая же - консоль не дает ничего сделать.
Если это как-то поможет, то в "composer.json" есть строка "symfony/symfony": "^3.1", а в "vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php" есть "const VERSION = '3.4.37';"
Вопрос, как починить консоль, учитывая что как я понял чуть ли не вся работа с фреймворком идет через нее?
BoShurik, первым делом. Там идет перебор как раз видимо этих "тем", но вот откуда они берутся, откуда там dev и почему он выдает ошибку - не понял. Может в каком-то файле конфигурации надо что-то исправить? Как понять хз. Вот код блока перебора, 70 строка это throw new эксепшен в блоке default.
// Add environment specific bundles
switch ($this->getEnvironment()) {
case 'dev_all_for_one':
case 'prod_all_for_one':
$bundles[] = new \Theme\AllForOneBundle\AllForOneBundle();
break;
case 'dev_kwp':
case 'prod_kwp':
$bundles[] = new \Theme\KwpBundle\KwpBundle();
break;
case 'dev_united_vars':
case 'prod_united_vars':
$bundles[] = new \Theme\UnitedVarsBundle\UnitedVarsBundle();
break;
default:
throw new \Symfony\Component\Config\Definition\Exception\InvalidConfigurationException(sprintf(
"The theme '%s' is not supported",
$this->getEnvironment()
));
}
BoShurik, большое спасибо! С темой которую выбрали вы не сработало, но если подставить env=prod_united_vars - то выполнилось без ошибок. А подскажите, можно же наверное где-то зафиксировать это, чтобы не вводить каждый раз? я поискал в app/config значение "dev", но не нашел ни в одном файле
.env в корне сайта тоже не вижу
где еще может храниться текущее значение?
Артём Пешков, в старых версиях было просто несколько точек входа для каждого из окружений (app.php, app_dev.php), посмотрите в директории web или public на наличие таких файлов. Да и в целом в точке входа эти значения задаются, будет понятно откуда они берутся