2016-11-11 83 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文件包含在它的相同的條目(或者完全刪除罰款),否則當您運行作曲家它會刪除不匹配的任何條目它。