Лично я не фиксирую файл settings.php в системе управления версиями (settings.default.php), а затем просто сохраняю собственный файл settings.php, основанный на файле settings.default.php, в каждой среде.
Однако, если вы предпочитаете настраивать свои среды таким образом, то что-то подобное будет работать в вашем файле sites / default / settings.php.
define('DEVELOPMENT', 'mysite.local');
define('PRODUCTION', 'mysite.com');
switch ($_SERVER['SERVER_NAME']) {
case DEVELOPMENT:
// development server
$db_url = 'mysql://user:pass@localhost/mydb_dev';
$db_prefix = '';
$base_url = 'http://mysite.local';
$conf = array(
'site_name' => 'Development Environment',
);
break;
default:
// live server
$db_url = 'mysql://user:pass@localhost/mydb_prod';
$db_prefix = '';
$base_url = 'http://mysite.com';
$conf = array(
'site_name' => 'My Site',
);
break;
}
Помните, что для каждой из этих переменных, которые вы здесь используете, вам нужно комментировать, если они определены в других частях settings.php.
Я также должен добавить, что я считаю, что использование мультисайтов для целей среды разработки - плохая идея, и я думаю, по той же причине я предпочитаю, чтобы в каждой среде был свой собственный файл settings.php. В большинстве случаев я предпочитаю сохранять код переносимым, так как мне не нужны ссылки на код или файловую систему для какой-либо среды, кроме файла настроек для среды, в которой я запускаю код.
Использование многопользовательской функциональности Drupal для каждой среды, в которой вы нуждаетесь для разработки и развития, как предлагают другие, было бы безумным для управления.