Symfony3环境基础设置

时间:2016-11-11 11:31:30

标签: symfony

我现在正在使用Symfony3。今天,我需要在每个环境中存储不同的api主机。

像:

Development
Staging
Production

我尝试将这些设置放在config.ymal中,但是symfony faild来解析它。

有什么建议吗?

先谢谢。

Danyal

3 个答案:

答案 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时它会删除任何与之不匹配的条目。