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