私の答えは、Apacheを使用するサーバーに依存しますが、他のWebサーバーもこれを実現できると思います。
virtualhost設定では、環境に合わせてすべての変数を設定できます。
SetEnv DBUSER datbase_user
SetEnv DBPASS database_pass
SetEnv DBNAME database_name
SetEnv DBHOST localhost
そしてsettings.phpファイルで:
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => $_SERVER["DBNAME"],
'username' => $_SERVER["DBUSER"],
'password' => $_SERVER["DBPASS"],
'host' => $_SERVER["DBHOST"],
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
この方法で他の変数を設定することもできます。
$ _SERVER配列が悪用されるのではないかと心配している場合は、settings.phpの下部にある重要な変数をすべて設定解除できます。
unset($_SERVER["DBUSER"]);
unset($_SERVER["DBPASS"]);
unset($_SERVER["DBNAME"]);
unset($_SERVER["DBHOST"]);
これは、開発環境、ステージング、さらには本番環境の間でサイトを移動するためにオフィスで行う方法です。