Verwenden Sie nicht dieselbe Einstellungsdatei, die Sie mit Ihrem Pseudocode vorschlagen. Verwenden Sie stattdessen drei verschiedene Einstellungsdateien in drei verschiedenen Ordnern, wobei jeder Ordner dem Domänennamen jeder Ihrer Instanzen entspricht.
In der Regel wird in jeder Umgebung ein separater Datenbankhost verwendet. Andere Einstellungen, die von Umgebung zu Umgebung unterschiedlich sein können, können der Apache Solr-Host, zwischengespeicherte Einstellungen, der temporäre Ordner und der Dateiordner sein, um nur einige zu nennen. Sie können alle dort platzieren. Wenn Sie Ihre Datenbank von PROD zu TEST zu DEV migrieren, werden die von Ihnen angegebenen Einstellungen automatisch übernommen.
Stellen Sie sich vor, meine Website heißt myfoobarsite.com. So würde meine Einstellungsstruktur aussehen:
/htdocs
../sites
..../default
....../default.settings.php
..../dev.myfoobarsite.com (DEV)
....../settings.php
..../qa.myfoobarsite.com (TEST)
....../settings.php
..../myfoobarsite.com (PROD)
....../settings.php
Im Allgemeinen habe ich auch zwei lokale Instanzen der Site, eine mit dem neuesten Datenbank-Snapshot von PROD und eine andere, in der ich alle meine Änderungen behalte. Dies ist sehr nützlich, wenn Sie mit Features arbeiten, und ermöglicht es Ihnen, Ihre Features vor dem Festschreiben anhand der Produktionsdatenbank (lokal) zu testen. Hier ist die modifizierte Struktur:
/htdocs
../sites
..../default
..../dev.myfoobarsite.com (DEV)
..../qa.myfoobarsite.com (TEST)
..../myfoobarsite.com (PROD)
..../mfbs.local (LOCAL ONE)
....../settings.php
..../mfbs2.local (LOCAL TWO)
....../settings.php
Denken Sie bei Ihren lokalen Instanzen daran, die entsprechenden Einträge in der /etc/hosts
Datei vorzunehmen und die Apache-Hosteinstellungen zu ändern.
Für alle Fälle habe ich auch einen Ausschnitt aus der settings.php zur Orientierung platziert:
<?php
$databases['default']['default'] = array(
'database' => 'myfoobarsite',
'username' => 'foo',
'password' => 'bar',
'host' => '127.0.0.1',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
);
/**
* Apache Solr settings.
* Use the acquia_identifier/acquia_key when hosting w/ Acquia.
* Specify only the apachesolr_path key for your local instance
* or instances that do not use Acquia.
*/
//$conf["acquia_identifier"] = "ABCD-12345";
//$conf["acquia_key"] = "1234f05ab12345dc1234a1234bbc1c12";
$conf["apachesolr_path"] = "http://localhost:8983/solr";
/**
* Filesystem settings (MAC OS X, LOCAL)
*/
$conf["file_public_path"] = "sites/default/files";
$conf["file_temporary_path"] = "/Users/amateurbarista/tmp";
$conf["file_private_path"] = "/Users/amateurbarista/Sites/tfk/private";
Wenn Sie mit Acquia hosten, müssen Sie bei http://myfoobarsite.com/admin/config/system/acquia-agent
jeder Migration der Datenbank auf "Schlüssel löschen" klicken. Dadurch löscht Drupal die Schlüssel, die mit der importierten Datenbank geliefert wurden, und nimmt die in der Einstellungsdatei angegebenen Schlüssel auf.