No use el mismo archivo de configuración que sugiere con su pseudocódigo. En su lugar, use tres archivos de configuración diferentes en tres carpetas diferentes, cada carpeta correspondiente al nombre de dominio de cada una de sus instancias.
Como mínimo, generalmente cada entorno utilizará un host de base de datos separado. Otras configuraciones que pueden diferir de un entorno a otro pueden incluir el host Apache Solr, la configuración de memoria caché, la carpeta temporal y la carpeta de archivos, por nombrar algunas. Puedes colocar todos esos allí. Cuando migra su base de datos de PROD a TEST a DEV, recogerá automáticamente la configuración que especificó.
Imagine que mi sitio se llama myfoobarsite.com. Así es como se vería mi estructura de configuración:
/htdocs
../sites
..../default
....../default.settings.php
..../dev.myfoobarsite.com (DEV)
....../settings.php
..../qa.myfoobarsite.com (TEST)
....../settings.php
..../myfoobarsite.com (PROD)
....../settings.php
También tengo generalmente dos instancias locales del sitio, una con la última instantánea de la base de datos de PROD y otra donde guardo todos mis cambios. Esto es muy útil cuando se trabaja con Características, y le permite probar sus características contra la base de datos de producción (localmente) antes de comprometerse. Aquí está la estructura modificada:
/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
En cuanto a sus instancias locales, recuerde realizar las entradas apropiadas en el /etc/hosts
archivo y modificar la configuración del host Apache.
Por si acaso, también coloqué un fragmento de settings.php como guía:
<?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";
Finalmente, si está alojando con Acquia, deberá ir http://myfoobarsite.com/admin/config/system/acquia-agent
y hacer clic en "borrar claves" cada vez que migre la base de datos. Eso hará que Drupal descarte las claves que vinieron con la base de datos importada y recoja las especificadas en el archivo de configuración.
También puede usar módulos de entorno que le permiten usar diferentes módulos por entorno.
Instrucciones
Primero, debe tener sus sitios de desarrollo / preparación / producción configurados con su propia configuración única.php (un patrón común para esto es requerir la configuración.local.php de settings.php). Si no tiene este tipo de configuración, entonces no necesita este módulo.
Para la puesta en escena / desarrollo, agregue algo como esto a settings.php, una vez que se habilite environment_modules, estos módulos también se habilitarán.
P.ej
También puedes usar un settings.php usando el siguiente ejemplo:
fuente