设置每个环境的螺栓配置

时间:2015-08-08 19:40:32

标签: php bolt-cms

{{3}}提到为每个环境设置配置文件,但没有解释如何实现它。

  

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

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

2 个答案:

答案 0 :(得分:3)

原来Bolt完全没有意识到它的环境。无论域名如何,总是加载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。

答案 1 :(得分:2)

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