2012-11-06 90 views
7

背景:如何複製基於PHP的網站?

我是新來的PHP,但我一直在問到代碼做一些更改,以支持託管在我們的內聯網的應用程序。實際的代碼更改看起來不錯。但是,目前沒有開發環境,所以我承諾創建一個重複的服務器來開發和測試我的更改。

在這一點上,並不熟悉PHP,看起來我可能必須對生產機器上的所有Apache HTTPD和PHP配置設置/選項/軟件包進行逆向工程,除非我可以戰略性地複製現有生產環境到開發機器。

我的問題:

  1. 是否有可能做到這一點?即將Apache/PHP安裝中的某些目錄FTP以複製原始環境?如果是這樣,哪些目錄?一個複雜情況可能是原始環境是SUSE Linux,開發機器是CentOS。除此之外,我在開發機器上安裝了匹配的HTTPD和PHP版本。
  2. 如果這不是明智的/可能的,我應該如何去複製環境?我應該檢查哪些區域?

在此先感謝!

+2

這可能是一個更適合http://www.serverfault.com –

+1

根據應用可能不需要環境完全相同的副本的性質。許多網站\應用程序在Windows上開發,然後上傳到Linux,一切都很好 - 但不可能說這是否是這種情況。您可以將副本放在服務器上的另一個目錄中,然後大部分情況都是一樣的。 – 2012-11-06 21:33:37

+0

使用'虛擬Machine'或'Vmware'第二臺機器上可以根據自己的情況選擇。 – Xaqron

回答

2

已經提到的解決方案,另一種方法是設置生產機器上的虛擬主機,像test.yourdomain.com東西和數據庫複製到測試數據庫。

然後,你可以測試在測試環境中活的服務器上你的網站,你只需要改變測試版本的數據庫連接設置。

1

這將是一個更容易和更少的心痛,只需克隆服務器,您可能需要與負責照顧您的服務器的人說話。我之所以這樣說是因爲可能有各種模塊/庫和服務器上的其他東西,如果要獲得應用程序,需要很長時間才能確定需要的內容在CentOS機器上運行完全一樣。其次,如果兩種環境都相同,這是最好的實踐,這樣你就知道你的測試是可靠的。

+1

我不知道這是否是@Steve T的問題,但克隆SuSE服務器會導致額外的許可成本。這可能是生產服務器是SuSE和開發箱CentOS的原因之一。 –

2

將整個事物克隆到VM中,提取代碼並將其放入源代碼庫(例如git)中。在你的機器上開發完成後,部署到你的虛擬機(除非你可以得到另一臺機器,或者你有時間和耐心去逆向工程化克隆機器的配置)。

您可以通過簡單地從您的虛擬機中提取代碼開始部署,但如果您認爲您的項目可能會持續更長時間,請考慮設置Continous Integration環境並將VM配置文件放入git存儲庫co中,您可以重新創建它在生產中(或將您的生產掛鉤到CI)。

2

我應該如何去複製環境?我應該檢查哪些區域?

你一定要看看:

  • /etc/httpd/
  • /etc/php5/(可能是一個不同的名稱)

特別是,從文件php.inihttpd.confapache2.conf開始,包含在這些文件夾中。