Grundsätzlich eine der größten Fragen aller Zeiten: Wie verwenden Sie settings.php in Ihrem Entwicklungs- / Staging-Workflow?
Im Moment habe ich meine settings.php-Datei wie folgt eingerichtet und meine Entwicklung basiert auf der $ HOST-Direktive des Servers - das heißt, ich kann auf dev.example.com für den (gemeinsam genutzten) Entwicklungsserver local.example arbeiten. com für meinen lokalen Computer (und die lokalen Code-Checkouts anderer Entwickler) und www.example.com (oder nur example.com) für die Live-Site.
(Dieser Code befindet sich im Abschnitt 'Datenbankeinstellungen' von 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;
}
?>
Dies funktioniert für die meisten Zwecke recht gut, aber es bedeutet, dass in unserer gemeinsam genutzten settings.php-Datei eine Menge irrelevanter Code herumsteht ... gibt es einen besseren Weg?