我們在很多網站上使用Drupal 6。我們將它們全部轉移到Git中進行版本控制。每個站點都有一個開發服務器,一個測試服務器和一個活動服務器。我想知道處理settings.php文件的最佳實踐,因爲數據庫連接信息在服務器之間明顯不同。我見過從switch語句到include文件的解決方案。包含文件解決方案http://drupaldork.com/2011/11/local-settings-development-sites似乎是一個很好的解決方案,但我想知道你最終在ACTUAL settings.php文件中留下了什麼。換句話說,如果每個服務器都有一個「本地」設置文件,如settings.local.php,它包含該特定服務器的連接信息,那麼是否將實際根settings.php中的連接信息刪除?或者你離開它?如果你離開它,你放什麼?這是否重要,因爲它最終只會被本地設置文件覆蓋?主根settings.php中的連接信息應該是某種默認的連接信息?在多臺服務器上使用Git時處理Drupal settings.php文件
0
A
回答
3
其中一種方式,我寧願不要將settings.php保存在Git中。 https://help.github.com/articles/ignoring-files
在我們的例子中,我們不斷的Git代碼庫,但下的settings.php文件將被忽略。因此,Prod,Sandbox &本地環境將擁有自己的settings.php文件。
0
我們保留2個settings.php文件包含在回購站中,但不包括基本settings.php。
我的生產settings.php文件是正常的。只是數據庫設置和默認的東西。 對於開發,我的settings.php文件具有數據庫設置,幷包含一個存儲在名爲settings.dev.php的repo中的文件。
# 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。在settings.php文件中設置prod值需要非常小心,因爲它可能會干擾某些模塊,並阻止您在需要時快速更改設置。但是你可以用settings.prod.php做同樣的事情。
相關問題
- 1. 在本地和服務器上處理多個Git頭部
- 2. 在多臺服務器上對文件使用Linux命令
- 3. 處理服務器上的Excel文件
- 4. 使用批處理文件在另一臺服務器中查找文件
- 5. 處理服務器上的多個用戶文件
- 6. 在服務器上處理
- 7. 在服務器上使用GIT
- 8. 在活服務器上部署drupal
- 9. SWF上傳多個文件服務器端處理
- 10. 使用GIT更新本地文件服務器上的文件
- 11. 上下文處理器只在服務器重啓時更新
- 12. 在多臺服務器上使用Tomcat Maven插件
- 13. git diff在兩臺遠程服務器上(git git --no-index外)
- 14. 在多臺服務器上使用NLog。想要在特定服務器上寫入1個文件
- 15. 在同一臺服務器上使用Java Applet訪問服務器文件
- 16. 在Drupal中處理文件上傳
- 17. 使用Web服務處理大文件
- 18. 多臺機器 - 同時處理多個文件?
- 19. 在兩臺Mac之間使用Git作爲Git服務器?
- 20. PHP笨 - 處理多個數據庫在同一臺服務器
- 21. 跨多臺服務器同步文件
- 22. 在多臺服務器上通過powershell運行bat文件
- 23. 如何使用python在多臺服務器上執行命令
- 24. 的Git - SSH服務器 - 文件不上服務器
- 25. 在多臺服務器上同步cronjob
- 26. GitlabCi部署在多臺服務器上
- 27. 使用Subversion作爲SVN部署在多臺服務器上
- 28. 遊戲服務器批處理文件
- 29. PHP處理大文件上傳的理想Web服務器?
- 30. 配置iTerm和Git在OS X上使用代理服務器
我喜歡這兩種解決方案,既不是對錯也不錯。我真的希望我可以將它們標記爲正確。我現在只是忽略settings.php文件。感謝您的輸入人。 – 2013-02-19 16:10:33