Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据环境设置螺栓配置_Php_Bolt Cms - Fatal编程技术网

Php 根据环境设置螺栓配置

Php 根据环境设置螺栓配置,php,bolt-cms,Php,Bolt Cms,其中提到为每个环境设置配置文件,但没有解释如何实现 当同一站点有多个环境(如开发、登台或生产)时,您会希望配置的某些部分相同,而每个环境的某些部分不同。您可能会有不同的数据库信息和调试设置。这可以通过拆分config.yml文件来实现。将所有环境中共享的所有设置放在default config.yml中,如果需要,可以在版本控制系统中提交。每个环境不同的设置,或者版本控制中不需要的设置(如数据库信息),都会放入config_local.yml中。首先加载config.yml,然后加载config

其中提到为每个环境设置配置文件,但没有解释如何实现

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


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

事实证明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。

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