只有源碼,在linux中如何部署php項目,並運行進行訪問。?
注: 本回答默認系統搭配的資料庫是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架構