注: 本回答默認系統搭配的資料庫是mysql

1.檢查源碼中是否包含資料庫信息。備份的sql文件,或者系統本身有安裝邏輯。

如果沒有,並且確認系統運行是需要資料庫的,那基本上就可以放棄了,因為從其它渠道獲取對應的資料庫結構及初始數據,或者根據代碼邏輯推算出數據結構,都是不划算的

系統本身有安裝邏輯是最好的,一般會進行環境檢查,不符合的會提示,根據情況調整就行了

2.確認系統運行所需的php版本。有以下幾種方法推測:

a.系統內有全局的版本檢測,寫明瞭需要多少版本以上,以寫明的版本為準(最好不要高,很可能系統中有些擴展是高版本廢棄的)

b.檢查代碼是否使用了某個流行框架,如果有,可以找到框架版本,並確定所需php版本

c.瀏覽下代碼看資料庫操作是用的哪個擴展。如使用了mysql,那麼代碼大概是老舊的代碼 ,考慮php5.3。如果是mysqli或pdo,php版本可以用新的。

d.瀏覽代碼,檢查一些版本差異明顯的特性。如 數組定義寫法,直接用[]的,則必定要求5.4以上。如 使用了 array_column函數,但系統文件中沒有定義,那肯定是5.5以上。

3.確認文件中是否有部分加密,或者後門之類的,加密的話,看到有php文件 ,代碼堆在一起,看不懂,就是了。後門的話,全局搜索一下eval,相關地方看下邏輯,若是直接傳的請求過來的參數,必是後門了。

如有部分加密,根據文件前面的部分字元確定加密類型,搜索一下能不能解密,以及找一些工具解密。如果文件少的話,付費解密也不虧。如果文件比較多,加密類型無法解密,那也可以放棄了

3.確定以上三點,基本就沒大問題了。

安裝 apache,mysql,php(對應的版本)。配置虛擬主機,域名解析綁定這些(沒域名可以暫時用ip),導入資料庫或按系統流程安裝,就可以開始使用了。多瀏覽一些頁面,看是否有報錯之類的,有可能是所需擴展沒裝全,再安裝對應擴展,重啟apache就可以了。


編譯啊,那還有什麼別的方式麼

或者高端一點自行做deb/rpm/pkg.tar.xz/tgz等包?


PHP項目開發出來本身就是源代碼,這個源代碼是需要在php的運行環境上面去執行的。也就是你Linux要安裝lnmp或者lamp架構

安裝php環境

php的環境安裝也2中方式,分別為一件集成環境安裝包 和手動編譯安裝

一鍵集成環境

這類型比較簡單,工具軟體會把裡面的環境依賴關係準備好,你直接安裝它提供的你軟體。

例如lnmp 寶塔 wdcp這些東西都是直接安裝,即可使用。

安裝方式:

wget先下載集成包,然後進行編譯安裝。

例如:寶塔 yum install -y wget wget -O install.sh http://download.bt.cn/install/install_6.0.sh sh install.sh

手動編譯環境

這類型相對複雜,就是你用的php mysql nginc直接的程序要獨立安裝,安裝完成後,還需要配置下通信的原理纔可以工作。

但它的好處是可以讓你更加明白這個環境是怎麼來進行工作的。如何去處理請求的。

安裝步驟:

1.下載各軟體包

2.解壓安裝包,進行編譯3.make make install

然後配置PHP和nginx通信。

或者可以採用yum安裝各個軟體,然後再去配置php和nginx的通信

部署項目

項目部署是建立在PHP搭建環境好之後,你在把它放到你web伺服器配置文件中的解析目錄下面,然後就可以用你的域名訪問到你的解析目錄下面。

註:雲伺服器需要打開安全組,域名需要解析到ip且web伺服器配置文件中需要設置域名。

例下:

nginx下面的root對應的項目文件存儲地址

server_name:配置域名

index : 配置nginx解析什麼類型文件

server{

listen 80; server_name localhost;

root /root/www/web;

location / { index index.html index.htm index.php; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}

php項目是網頁的話搭個lamp或者lnmp環境就行


oneistack


推薦閱讀:
相關文章