0

多くの Web サイトで Drupal 6 を使用しています。バージョン管理のために、それらすべてを Git に移行しています。各サイトには、開発サーバー、テスト サーバー、ライブ サーバーがあります。データベース接続情報はサーバー間で明らかに異なるため、settings.php ファイルを処理するためのベスト プラクティスについて疑問に思っています。switch ステートメントからインクルード ファイルまで、さまざまなソリューションを見てきました。ここに記載されているインクルード ファイル ソリューションhttp://drupaldork.com/2011/11/local-settings-development-sites良い解決策のように思えますが、ACTUAL settings.php ファイルに何を残してしまうのか疑問に思っています。つまり、各サーバーに、特定のサーバーの接続情報を含む settings.local.php のような「ローカル」設定ファイルがある場合、実際のルート settings.php から接続情報を削除しますか? それとも残しますか?置いていくとしたら、何を入れますか?とにかくローカル設定ファイルによってオーバーライドされるだけなので、それは問題ですか? メインルートの settings.php の接続情報は、ある種のデフォルトの接続情報である必要がありますか?

4

2 に答える 2

3

方法の 1 つは、Git に settings.php を保持しないことです。 https://help.github.com/articles/ignoring-files

私たちの場合、コードベースを Git の下に保持しますが、settings.php ファイルは無視されます。そのため、Prod、Sandbox、およびローカル環境には独自の settings.php ファイルがあります。

于 2013-02-11T18:27:39.620 に答える
0

リポジトリには2つのsettings.phpファイルが含まれていますが、基本のsettings.phpは保持されていません。

本番用のsettings.phpファイルは通常どおりです。databsae設定とデフォルトのものだけです。開発のために、私のsettings.phpファイルにはデータベース設定とsettings.dev.phpというリポジトリに保存されているファイルへのインクルードがあります。

# Additional site configuration settings.
if (file_exists('/Users/User/Sites/site.com/sites/default/settings.dev.php')) {
  include_once('/Users/User/Sites/site.com/sites/default/settings.dev.php');
}

Settings.dev.phpには、キャッシュをオフにし、環境インジケーターを設定するためのスイッチが含まれています。

// Secure Pages
$conf['securepages_enable'] = FALSE;

// Environment Indicator
$conf['environment_indicator_color'] = 'blue';
$conf['environment_indicator_enabled'] = TRUE;
$conf['environment_indicator_text'] = 'Development Server';

// Robots disable
$conf['robotstxt'] = 'User-agent: *
Disallow: /';

// Turn off Caching and such
$conf['cache'] = FALSE;
$conf['page_compression'] = FALSE;
$conf['preprocess_css'] = FALSE;
$conf['css_gzip'] = FALSE;
$conf['preprocess_js'] = FALSE;
$conf['javascript_aggregator_gzip'] = FALSE;

Settings.phpはリポジトリでは無視されますが、settings.dev.phpは含まれています。また、リポジトリにsettings.stage.phpを保持します。prodのsettings.phpファイルに値を設定すると、一部のモジュールに干渉し、必要に応じて設定をすばやく変更できなくなる可能性があるため、慎重に行う必要があります。ただし、settings.prod.phpでも同じことができます。

于 2013-02-12T18:57:37.397 に答える