環(huán)境配置文件布局解決方案

一般來說,我們有開發(fā)環(huán)境(DEV)、測試環(huán)境(TEST)、生產(chǎn)環(huán)境(PROD)。

創(chuàng)新互聯(lián)建站專注于拜城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供拜城營銷型網(wǎng)站建設(shè),拜城網(wǎng)站制作、拜城網(wǎng)頁設(shè)計(jì)、拜城網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造拜城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供拜城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

怎樣解決自動(dòng)根據(jù)不同環(huán)境切換相應(yīng)的配置文件的問題呢?

本文以PHP為例。

最簡單的方法,是確保三種環(huán)境的服務(wù)器可以給出一模一樣的設(shè)置給程序,如數(shù)據(jù)庫地址、端口、數(shù)據(jù)庫名、用戶名密碼等。但在資源緊缺的環(huán)境下可操作性不強(qiáng)。

首先,無論如何,建三個(gè)對應(yīng)的配置文件是必須的。

如:

config.dev.php

config.test.php

config.prod.php/config.php

然后,便是自動(dòng)切換的問題。

其實(shí),正常情況下,這三者的運(yùn)行環(huán)境可能都相同,無法簡單的通過環(huán)境的不同進(jìn)行區(qū)分。除非那種極客型的,如修改php代碼,不同環(huán)境增加不同環(huán)境變量標(biāo)示手動(dòng)編譯PHP,這樣運(yùn)行環(huán)境中就具備了區(qū)分標(biāo)示,然后封裝一個(gè)判斷方法。同樣在資源緊缺的情況下,可操作性不強(qiáng)。

剩下比較可行的,就是通過文件軟連接的方式。*nix、Windows都有辦法創(chuàng)建文件軟連接,系統(tǒng)無論有幾個(gè)配置文件,在運(yùn)行時(shí)都只需要一個(gè)文件,所以在不造成相應(yīng)程序大幅改動(dòng)代碼來實(shí)現(xiàn)切換的話,就是這種方案了:

config.dev.php

config.test.php

config.prod.php

然后手動(dòng)在每種環(huán)境創(chuàng)建軟連接config.php,指向?qū)?yīng)的文件config.xxx.php。

實(shí)在像虛擬主機(jī),就直接在服務(wù)器上把config.prod.php 改成 config.php

PS

在大型的應(yīng)用中,異常復(fù)雜的無數(shù)資源需要調(diào)用的環(huán)境,專門做一個(gè)資源管理與調(diào)度的系統(tǒng),然后針對每種資源如mysql服務(wù)編號命名,然后在應(yīng)用環(huán)境中,調(diào)用統(tǒng)一的api來獲取配置資源。這種方式,其實(shí)還是要在資源比較充足的情況下,尤其測試環(huán)境與正式環(huán)境不能在一臺機(jī)器上。這樣,可以根據(jù)應(yīng)用請求的ip或端口來判斷:那臺是測試服務(wù)器,我就返回一個(gè)測試用的配置數(shù)據(jù)給它;這臺是正式環(huán)境,就返回正式的配置。

當(dāng)前文章:環(huán)境配置文件布局解決方案
網(wǎng)站地址:http://www.muchs.cn/article32/cjjhpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣用戶體驗(yàn)、做網(wǎng)站Google、網(wǎng)站內(nèi)鏈、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)