답변:
config.xml 및 local.xml은에 배치 한 다른 xml 파일과 함께 함께로드됩니다 app/local
. 그들은에로드Mage_Core_Model_Config::loadBase()
public function loadBase()
{
$etcDir = $this->getOptions()->getEtcDir();
$files = glob($etcDir.DS.'*.xml');
$this->loadFile(current($files));
while ($file = next($files)) {
$merge = clone $this->_prototype;
$merge->loadFile($file);
$this->extend($merge);
}
if (in_array($etcDir.DS.'local.xml', $files)) {
$this->_isLocalConfigLoaded = true;
}
return $this;
}
config.xml의 내용을 local.xml로 이동하고 config.xml을 완전히 제거하면 Magento가 작동합니다.
이 분리는 이유가 있습니다.
config.xml에는 Magento가 설치된 환경에 의존하지 않는 설정이 포함되어 있습니다.
local.xml에는 DB 연결, 캐시 엔진, 암호화 키, 세션 처리기 등 환경에 따른 설정이 포함되어 있습니다.
이 방법으로 설정의 일부를 버전화할 수 있으며 (config.xml) 환경에 따라 작은 파일 만 있습니다.
core_config_data
이후 의 값 이 구문 분석되고 병합되므로 완전히 정확하지는 않습니다 .