Không sử dụng cùng một tệp cài đặt như bạn đang đề xuất với mã giả. Thay vào đó, sử dụng ba tệp cài đặt khác nhau trong ba thư mục khác nhau, mỗi thư mục tương ứng với tên miền của từng phiên bản của bạn.
Tối thiểu, thông thường mỗi môi trường sẽ sử dụng một máy chủ cơ sở dữ liệu riêng biệt. Các cài đặt khác có thể khác nhau từ môi trường này đến môi trường khác có thể bao gồm máy chủ Apache Solr, cài đặt memcached, thư mục tạm thời và thư mục tệp, để đặt tên cho một số. Bạn có thể đặt tất cả những người ở đó. Khi bạn di chuyển cơ sở dữ liệu của mình từ PROD sang TEST sang DEV, nó sẽ tự động nhận các cài đặt bạn đã chỉ định.
Hãy tưởng tượng rằng trang web của tôi được gọi là myfoobarsite.com. Đây là cách cấu trúc cài đặt của tôi sẽ trông như thế nào:
/htdocs
../sites
..../default
....../default.settings.php
..../dev.myfoobarsite.com (DEV)
....../settings.php
..../qa.myfoobarsite.com (TEST)
....../settings.php
..../myfoobarsite.com (PROD)
....../settings.php
Tôi cũng thường có hai phiên bản cục bộ của trang web, một phiên bản có ảnh chụp cơ sở dữ liệu mới nhất từ PROD và một phiên bản khác nơi tôi giữ tất cả các thay đổi của mình. Điều này rất hữu ích khi làm việc với Tính năng và cho phép bạn kiểm tra các tính năng của mình dựa trên cơ sở dữ liệu sản xuất (cục bộ) trước khi cam kết. Đây là cấu trúc được sửa đổi:
/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
Đối với các cá thể cục bộ của bạn, hãy nhớ tạo các mục thích hợp trong /etc/hosts
tệp và sửa đổi cài đặt máy chủ Apache của bạn.
Chỉ trong trường hợp, tôi cũng đã đặt một đoạn trích từ settings.php để được hướng dẫn:
<?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";
Cuối cùng, nếu bạn đang lưu trữ với Acquia, bạn sẽ cần truy cập http://myfoobarsite.com/admin/config/system/acquia-agent
và nhấp vào "xóa khóa" mỗi khi bạn di chuyển cơ sở dữ liệu. Điều đó sẽ khiến Drupal bỏ các khóa đi kèm với cơ sở dữ liệu đã nhập và chọn những khóa được chỉ định trong tệp cài đặt.