Symfony 4 - 在开发和测试中使用环境变量

Symfony 4 - Use environment variable in dev and test

作为 Symfony 上 Stripe 培训的一部分,我正在尝试设置一个环境变量以进行测试。

所以我必须将一个变量设置为 false 以进行测试。对于其他环境,变量必须为真。

所以,我这样做了:

#.env.test:
VERIFY_STRIPE_EVENT=false

#.env:
VERIFY_STRIPE_EVENT=true

接下来,我想测试一下自己是否物有所值。

所以在我的控制器中,我用开发环境测试:dd(getenv("VERIFY_STRIPE_EVENT"));。 但它 returns 错误。

这意味着我无法获取变量。 有人可以帮我吗?

检查你的 APP_ENV 你需要在开发中安装它,你还需要一个 .env.dev 并在最后清除开发缓存

将此添加到 .env 行

APP_ENV=prod

将此添加到 .env.test

APP_ENV=test

将此添加到 .env 行

APP_ENV=prod

将此添加到 .env.stage

APP_ENV=stage

现在,您的 getenv("VERIFY_STRIPE_EVENT") 将 return 正确的变量,具体取决于您所处的环境。

如果您在本地开发期间确实调用了 config:cache,您可以通过删除 bootstrap/cache/config.php 文件 来撤消此操作。否则,您可能会遇到调用 getenv() 不会 return 所需的值