【问题标题】:Symfony 4 - Use environment variable in dev and testSymfony 4 - 在开发和测试中使用环境变量
【发布时间】:2020-05-09 18:02:39
【问题描述】:

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

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

所以,我这样做了:

#.env.test:
VERIFY_STRIPE_EVENT=false

#.env:
VERIFY_STRIPE_EVENT=true

接下来,我想测试一下我是否有好的价值。

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

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

【问题讨论】:

  • 您定义了.env.test.env。现在您说的是“开发”环境。如果你没记错的话,你需要一个.env.dev 文件。

标签: symfony variables testing environment-variables getenv


【解决方案1】:

检查你的 APP_ENV,你需要它 ind dev,你还需要一个 .env.dev 并在最后清除 dev 缓存

【讨论】:

    【解决方案2】:

    将此添加到 .env 行

    APP_ENV=prod
    

    将此添加到 .env.test 的行

    APP_ENV=test
    

    将此添加到 .env 行

    APP_ENV=prod
    

    将此添加到 .env.stage 的行

    APP_ENV=stage
    

    现在,您的 getenv("VERIFY_STRIPE_EVENT") 将根据您所处的环境返回正确的变量。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-04
        • 2015-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-19
        • 1970-01-01
        相关资源
        最近更新 更多