Jangan gunakan file pengaturan yang sama seperti yang Anda sarankan dengan pseudocode Anda. Sebagai gantinya, gunakan tiga file pengaturan berbeda dalam tiga folder berbeda, masing-masing folder sesuai dengan nama domain dari masing-masing instance Anda.
Minimal, umumnya setiap lingkungan akan menggunakan host database yang terpisah. Pengaturan lain yang dapat berbeda dari lingkungan ke lingkungan dapat mencakup host Apache Solr, pengaturan memcached, folder sementara dan folder file, untuk beberapa nama. Anda dapat menempatkan semua itu di sana. Ketika Anda memigrasi database Anda dari PROD ke TEST ke DEV, itu akan secara otomatis mengambil pengaturan yang Anda tentukan.
Bayangkan situs saya disebut myfoobarsite.com. Beginilah struktur pengaturan saya akan terlihat seperti:
/htdocs
../sites
..../default
....../default.settings.php
..../dev.myfoobarsite.com (DEV)
....../settings.php
..../qa.myfoobarsite.com (TEST)
....../settings.php
..../myfoobarsite.com (PROD)
....../settings.php
Saya juga umumnya memiliki dua contoh lokal situs, satu dengan snapshot database terbaru dari PROD dan satu lagi di mana saya menyimpan semua perubahan saya. Ini sangat berguna ketika bekerja dengan Fitur, dan memungkinkan Anda untuk menguji fitur Anda terhadap basis data produksi (lokal) sebelum melakukan. Berikut struktur yang dimodifikasi:
/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
Sedangkan untuk instance lokal Anda, ingatlah untuk membuat entri yang sesuai dalam /etc/hosts
file dan untuk memodifikasi pengaturan host Apache Anda.
Untuk jaga-jaga, saya juga menempatkan cuplikan dari settings.php untuk panduan:
<?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";
Terakhir, jika Anda hosting dengan Acquia, Anda harus mengunjungi http://myfoobarsite.com/admin/config/system/acquia-agent
dan mengklik "hapus kunci" setiap kali Anda memigrasi basis data. Itu akan menyebabkan Drupal untuk menjatuhkan kunci yang datang dengan database yang diimpor dan mengambil yang ditentukan dalam file pengaturan.
Anda juga dapat menggunakan modul Lingkungan yang memungkinkan Anda menggunakan berbagai modul per lingkungan.
Instruksi
Pertama, Anda perlu mengatur situs dev / staging / produksi Anda dengan settings.php unik mereka sendiri (pola umum untuk ini adalah memerlukan settings.local.php dari settings.php). Jika Anda tidak memiliki pengaturan seperti ini, maka Anda tidak memerlukan modul ini.
Untuk staging / dev, tambahkan sesuatu seperti ini ke settings.php, setelah environment_modules diaktifkan, modul-modul ini juga akan diaktifkan.
Misalnya
Anda juga dapat menggunakan satu pengaturan.php dengan menggunakan contoh berikut:
sumber