Basicamente, uma das maiores perguntas de todos os tempos: quais são as maneiras pelas quais você usa o settings.php no seu fluxo de trabalho de desenvolvimento / preparação?
No momento, tenho meu arquivo settings.php configurado da seguinte maneira e baseio meu desenvolvimento na diretiva $ HOST do servidor - o que significa que posso trabalhar no dev.example.com para o servidor de desenvolvimento (compartilhado) local.example. com para o meu computador local (e check-out de código local de outros desenvolvedores) e www.example.com (ou apenas example.com) para o site ativo.
(Este código está na seção 'Configurações do banco de dados' do 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;
}
?>
Isso funciona muito bem para a maioria dos propósitos, mas significa que temos muitos códigos estranhos em nosso arquivo settings.php compartilhado ... existe uma maneira melhor?