Как проверить среду, используя консольный инструмент Symfony?

Я использую инструмент Symfony CLI и ищу способ проверить среду. Я не мог найти ничего подобного

$ php bin/console get environment

Есть ли другой способ для этого? Возможно ли / Как узнать, какая среда в настоящее время активна?


РЕДАКТИРОВАТЬ

Приложение работает в конкретной среде (и затем использует app.php за prod или app_{env} для любой другой среды).

Так что я на самом деле хочу достичь, это выяснить, какая среда в настоящее время используется приложением (когда приложение вызывается через HTTP, например, в браузере).

7 ответов

php bin/console about

Появится информация о вашем приложении, одна строка будет посвящена окружающей среде:

php bin/console debug:container --env-vars

Как насчет

$this->getContainer()->getParameter('kernel.environment');

в ContainerAwareCommand?

Что касается Symfony, который использует Flex, вы можете получить переменную APP_ENV через PHP-функцию getenv():

getenv('APP_ENV');

Я знаю, что вопрос был задан давно, но если это может быть полезно для женщин, в Sf5.4 (по крайней мере, может быть, Sf6+ тоже), вы могли бы использовать

      php bin/console debug:dotenv

чтобы все переменные были установлены файлами .env (и, следовательно, APP_ENV тоже)

Просто введите:

php bin/console

покажет вам все доступные команды. Я думаю, что по умолчанию, как 'dev' и 'prod' доступны. Вы можете указать команды, специфичные для среды, используя опцию --env=ENV,

Таким образом, для отладки маршрутизации в dev вы бы ввели:

php bin/console --env=dev debug:router

и он будет показывать маршруты в dev среда. Я не уверен, поможет ли это вам или нет.


РЕДАКТИРОВАТЬ № 2

Вы можете добавить тестовый файл Twig и распечатать свою среду:

<p>Application Environment: {{ app.environment }}</p>

Это быстрое и простое решение.

Когда вы не можете каким-либо образом ввести контейнер, в крайнем случае вы можете попробовать

       $environment = $GLOBALS["env"];
Другие вопросы по тегам