如何使用Symfony控制台工具检查环境?

aut*_*tix 3 environment symfony symfony-console

我使用Symfony CLI工具,我正在寻找一种检查环境的方法.我找不到类似的东西

$ php bin/console get environment
Run Code Online (Sandbox Code Playgroud)

还有另外一种方法吗?有可能/如何找出当前活动的环境?


编辑

应用程序在具体环境中运行(然后使用app.phpfor prodapp_{env}for for other environment).

所以我真正想要实现的是找出应用程序当前正在使用哪个环境(当通过HTTP调用应用程序时,例如在浏览器中).

小智 18

php bin/console about
Run Code Online (Sandbox Code Playgroud)

这将显示有关您的应用的信息,将关注一行环境:

在此输入图像描述

  • 我不敢相信我不知道这个……我已经在 SF 工作一年多了,到底是什么。 (2认同)

小智 15

php bin/console debug:container --env-vars
Run Code Online (Sandbox Code Playgroud)

  • 这个解决方案比第一个解决方案更好。例如,它看到“DATABASE_URL”,而“php bin/console about”则看不到它。 (3认同)

Mic*_*ł G 7

关于什么

$this->getContainer()->getParameter('kernel.environment');
Run Code Online (Sandbox Code Playgroud)

在 ContainerAwareCommand 中?

  • `ContainerAwareCommand` 已在 4.2 中弃用,应该不再使用,因此不应使用此解决方案。https://symfony.com/blog/new-in-symfony-4-2-important-deprecations#deprecated-containerawarecommand (3认同)

Alv*_*unk 1

只需输入:

php bin/console
Run Code Online (Sandbox Code Playgroud)

将显示所有可用的命令。我认为通常默认情况下,“dev”和“prod”都是可用的。您可以使用选项指定特定于环境的命令--env=ENV

因此,要调试路由,dev您需要输入:

php bin/console --env=dev debug:router
Run Code Online (Sandbox Code Playgroud)

它会显示dev环境中的路线。我不确定这是否对你有帮助。


编辑#2

您可以向 Twig 文件添加测试并打印出您的环境:

<p>Application Environment: {{ app.environment }}</p>
Run Code Online (Sandbox Code Playgroud)

这是一个快速且简单的解决方案。