2015-08-08 58 views
3

Bolt documentation提到了为每个环境设置配置文件,但没有解释如何实现它。设置每个环境的螺栓配置

当你有同一个站点的多个环境,比如开发,分段或生产时,你会希望配置的一部分是相同的,并且每个环境有一些不同。你可能会有不同的数据库信息和调试设置。这可以通过分割config.yml文件来完成。将所有共享的设置放在默认config.yml中的所有环境中,如果需要,可以在版本控制系统中提交。每个环境中不同的设置,或者你不想在版本控制中使用的设置(如数据库信息),都放在config_local.yml中。首先加载config.yml,然后加载config_local.yml,这样config_local.yml可以覆盖config.yml中的任何设置。

当然我没有问题创建一个额外的配置文件,但我该如何告诉Bolt它运行在哪个环境以及它应该加载哪个文件?

回答

3

结果螺栓完全不知道它的环境。它总是加载config.yml后跟config_local.yml,不管域名。

从config.php文件,开始行226:

protected function parseGeneral() 
{ 
    // Read the config and merge it. (note: We use temp variables to prevent 
    // "Only variables should be passed by reference") 
    $tempconfig = $this->parseConfigYaml('config.yml'); 
    $tempconfiglocal = $this->parseConfigYaml('config_local.yml'); 
    $general = Arr::mergeRecursiveDistinct($tempconfig, $tempconfiglocal); 

解决我的问题是绝不允许得到部署config_local.yml。

2

config_local.yml文件旨在用于开发用途,以便您可以覆盖可能在生产使用中提交给VCS的配置设置。