我现在正在使用Symfony3。今天,我需要在每个环境中存储不同的api主机。
像:
Development
Staging
Production
我尝试将这些设置放在config.ymal中,但是symfony faild来解析它。
有什么建议吗?
先谢谢。
Danyal
答案 0 :(得分:1)
您需要将它们放在环境的配置文件中 喜欢:
in config_dev.yml: imports: - { resource: config.yml } ip: "127.0.0.1" in config_env1.yml: imports: - { resource: config.yml } ip: "192.58.56.46" in config.yml: ip: "%ip%"
答案 1 :(得分:1)
为示例config_stagging.yml
创建一个新文件并添加
imports:
- { resource: config.yml }
在文件中添加您想要的scpecific配置
将app_dev.php
复制到app_stagging.php
将第$kernel = new AppKernel('dev', true);
行更改为$kernel = new AppKernel('stagging', true);
执行命令:php bin/console cache:clear
在您的网址内使用app_dev
,请使用app_stagging
答案 2 :(得分:1)
以上任何一个答案都没问题。
但另一种方法是每个服务器安装一个parameters.yml
文件,并在那里设置服务器相关设置。这就是symfony的发布方式。
它避免了设置单独的前端控制器的需要,因为它使事情变得简单。
确保将parameters.yml
添加到.gitIgnore
,并确保parameters.yml.dist
文件中包含相同的条目(或完全删除罚款),否则当您运行composer时它会删除任何与之不匹配的条目。