我希望能夠以最有效的方式自動區分我的開發服務器和生產(和測試版)服務器,而不需要依賴諸如HTTP_HOST之類的東西。我希望這對其他開發者來說是透明的,所以他們不必擔心。區別開發服務器和生產效率對於PHP
我正在使用預編譯css和壓縮js,當我部署到生產,但我想要生產的未壓縮js(和飛行complied css)。一個簡單的「開發」標誌就足以區分它們,但是什麼是在不浪費生產資源的情況下將此變量納入開發環境的最佳方式?
我目前的計劃是動態地重寫一個php(或者ini文件,用parse_ini_file解析)文件作爲我們部署過程的一部分,將開發者設置爲false(我可以重寫這個文件來爲這個文件設置新的文件名編譯後的CSS和JS)。但是,我擔心如果出現意想不到的情況,就像寫下的部署腳本出問題一樣,開發人員模式可能會被推向生產。換句話說,我希望在那裏有一些具體的開發環境,這樣就不會有生產系統被誤認爲開發系統的風險。
我認爲使用單獨的user.ini文件來設置自定義的「開發」標誌來區分這一點,但是我很難讓它工作,並且希望看到在我花費更多時間之前是否有更好的解決方案。
這是我之前使用的非常可靠的解決方案,但是我建議您小心地將檢測默認爲非prod。通過這種方式,如果您忘記在新服務器上設置環境變量,它的行爲就像一個非prod盒子。你也可以通過在特定的apache站點配置中使用' SetEnv APPLICATION_ENV production ...'將變量限制在特定的虛擬主機上。 –
2015-02-16 23:48:47