我使用 Symfony Flex 进行了全新的 Symfony 安装,新的骨架属于下一个 Symfony 4 目录结构。
我添加并配置了第一个第三方包:HWIOAuthBundle。此捆绑包用于使用两个秘密信息通过 Twitter 进行连接。
我在文件中声明了 myconsumer_id
和 my 。consumer_secret
config/packages/hwi_oauth.yaml
hwi_oauth:
firewall_names: [secured_area]
resource_owners:
twitter:
type: twitter
client_id: XXXXXMyIdXXXXX
client_secret: XXXXXMyTopSecretKeyXXXXX
我的应用程序运行良好。但我不能在 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%'
我阅读了关于新 DotEnv 包的Symfony4 最佳实践。
使用环境变量虽然远非完美,但与我们目前所做的相比有很多好处。环境变量是管理依赖于环境的设置的一种更“标准”的方式(例如,不需要管理 parameters.yml.dist)。
正如最佳实践中所建议的,我将这两行附加到.env
文件中:
TWITTER_CONSUMER_ID=XXXXXMyIdXXXXX
TWITTER_CONSUMER_SECRET=XXXXXMyTopSecretKeyXXXXX
但是我遇到了这个错误:
您请求了一个不存在的参数“twitter_consumer_id”。
我尝试了%kernel.twitter_consumer_id%
, %env.twitter_consumer_id%
,%env(TWITTER_CONSUMER_ID)%
但没有成功。
最后一个测试返回此错误消息:
在渲染模板期间引发了异常(“未找到环境变量:“TWITTER_CONSUMER_ID”。”)。
如何在参数文件中检索我的 ENV 变量hwi_oauth.yaml
?