2016-11-11 81 views
0

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

像:

Development 
Staging 
Production 

我试图把这些设置在config.ymal,但symfony的zhcon失败解析它。

有什么建议吗?

在此先感谢。

Danyal

+0

阅读[如何组织配置文件](http://symfony.com/doc/current/configuration/configuration_organization.html) –

回答

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

创建一个新的文件,像为例config_stagging.yml并添加

imports: 
    - { resource: config.yml } 

添加scpecific配置你想要的文件内

复制app_dev.phpapp_stagging.php

行更改$kernel = new AppKernel('dev', true);$kernel = new AppKernel('stagging', true);

EXECUT命令:php bin/console cache:clear

在您的网址中使用app_dev,使用app_stagging

1

上述任何答案都很好。

但是另一种方法是每个服务器安装一个parameters.yml文件,并且在那里有依赖于服务器的设置。这就是symfony的运输方式。

它避免了设置单独的前端控制器的必要,因为它使事情变得简单。

确保parameters.yml添加到.gitIgnore,也确保了parameters.yml.dist文件包含在它的相同的条目(或者完全删除罚款),否则当您运行作曲家它会删除不匹配的任何条目它。