기본적으로 항상 가장 큰 질문 중 하나는 개발 / 스테이징 워크 플로에서 settings.php를 사용하는 방법은 무엇입니까?
지금은 settings.php 파일을 다음과 같이 설정했으며 개발을 서버의 $ HOST 지시문에 기반합니다. 즉 개발 (공유) 서버 local.example을 위해 dev.example.com에서 작업 할 수 있습니다. 내 로컬 컴퓨터의 경우 com (및 기타 개발자의 로컬 코드 체크 아웃) 및 라이브 사이트의 경우 www.example.com (또는 example.com)입니다.
(이 코드는 settings.php의 '데이터베이스 설정'섹션에 있습니다) :
$host = $_SERVER['HTTP_HOST'];
$base_url = 'http://'.$host;
$cookie_domain = $host;
switch($host) {
case 'example.com': # Production server
$db_url = 'mysqli://prod_sql_user:password@127.0.0.1/prod_db';
$update_free_access = FALSE;
$conf = array (
// Set production config options here...
'example_setting' => 0,
);
break;
case 'dev.example.com': # Development server
$db_url = 'mysqli://dev_sql_user:password@127.0.0.1/dev_db';
$update_free_access = FALSE;
$conf = array (
// Set production config options here...
'example_setting' => 0,
);
break;
case 'local.example.com': # Local server
$db_url = 'mysqli://local_sql_user:password@127.0.0.1/local_db';
$update_free_access = FALSE;
$conf = array (
// Set production config options here...
'example_setting' => 0,
// Turn off most core caching.
'cache_inc' => 'includes/cache.inc',
'cache' => CACHE_DISABLED,
);
break;
}
?>
이것은 대부분의 목적을 위해 잘 작동하지만 공유 settings.php 파일에 많은 외부 코드가 있습니다 ... 더 나은 방법이 있습니까?