相关疑难解决方法(0)

如何在Symfony4结构的参数文件中检索环境变量?

我使用Symfony Flex进行了新的Symfony安装,新的骨架属于下一个Symfony 4目录结构.

我添加并配置了第一个第三方软件包:HWIOAuthBundle.该捆绑包用于通过Twitter使用两个秘密信息进行连接.

consumer_idconsumer_secretconfig/packages/hwi_oauth.yaml文件中声明我和我的.

hwi_oauth:
    firewall_names: [secured_area]
    resource_owners:
        twitter:
            type:          twitter
            client_id:     XXXXXMyIdXXXXX
            client_secret: XXXXXMyTopSecretKeyXXXXX
Run Code Online (Sandbox Code Playgroud)

我的申请工作正常.但我无法在github上提交我的秘密!

我想要一个hwi_oauth.yaml像这样的文件:

hwi_oauth:
    firewall_names: [secured_area]
    resource_owners:
        twitter:
            type:          twitter
            client_id:     '%twitter_consumer_id%'
            client_secret: '%twitter_consumer_secret%'
Run Code Online (Sandbox Code Playgroud)

我阅读了有关新DotEnv包的Symfony4最佳实践.

使用环境变量虽然远非完美,但与我们目前的工作相比有很多好处.环境变量是管理依赖于环境的设置的更"标准"方式(例如,不需要管理parameters.yml.dist).

正如最佳实践中所建议的那样,我将这两行附加到.env文件:

TWITTER_CONSUMER_ID=XXXXXMyIdXXXXX
TWITTER_CONSUMER_SECRET=XXXXXMyTopSecretKeyXXXXX
Run Code Online (Sandbox Code Playgroud)

但是我遇到了这个错误:

您已请求不存在的参数"twitter_consumer_id".

我试着用%kernel.twitter_consumer_id%,%env.twitter_consumer_id%,%env(TWITTER_CONSUMER_ID)%没有更多的成功.

最后一个测试是返回此错误消息:

在渲染模板期间抛出了异常("未找到环境变量:"TWITTER_CONSUMER_ID".").

如何在参数文件中检索我的ENV变量hwi_oauth.yaml

php environment-variables symfony symfony-flex symfony4

9
推荐指数
2
解决办法
1417
查看次数