Как проверить среду, используя консольный инструмент Symfony?
Я использую инструмент Symfony CLI и ищу способ проверить среду. Я не мог найти ничего подобного
$ php bin/console get environment
Есть ли другой способ для этого? Возможно ли / Как узнать, какая среда в настоящее время активна?
РЕДАКТИРОВАТЬ
Приложение работает в конкретной среде (и затем использует app.php
за prod
или app_{env}
для любой другой среды).
Так что я на самом деле хочу достичь, это выяснить, какая среда в настоящее время используется приложением (когда приложение вызывается через HTTP, например, в браузере).
7 ответов
php bin/console about
Появится информация о вашем приложении, одна строка будет посвящена окружающей среде:
Как насчет
$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"];