easyphp手動添加php版本
背景 本地開發(fā)環(huán)境使用easyphp搭建,不同框架需要的php版本不同,最近需要使用lumen框架(laravel微框架),公司封裝了框架,加了一些奇妙的東西,然后php版本最低要求7.18,然鵝,easyphp默認自帶了5.6.3和7.1.3,很不巧妙,傻眼看著只差了0.0.5個版本,要再折騰一個版本,看下下easyphp官網(wǎng),支持所有常見的php版本,然鵝添加非自帶的版本擴展需要付費(10刀每年年),作為一名不起眼的碼農(nóng),能動手絕不花錢(省錢還房貸),于是開動了各種常識。
-
準備
下載php7.2.16版本 windows下分ts(線程安全)和nts版本(線程不安全),如果php作為http服務(wù)器模塊運行則需要選擇ts版本,如果php通過cgi/fast-cgi啟動獨立進程通過socket和http服務(wù)器通信則需要選擇nts版本,因為我喜歡使用nginx所以我的開發(fā)環(huán)境是nginx+fastcgi來運行php,所以我選擇的具體版本是:php-7.2.16-nts-Win32-VC15-x86
安裝步驟
-
解壓解壓壓縮包到C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php(easyphp中php安裝位置)
1553874895599.png -
檢測 easyphp啟動頁面此時并還不能選擇php7.2版本
1553875654576.png
追蹤 追蹤easyphp自身web項目,easyphp本身也是通過web程序操作的,項目代碼位置為:C:\Program Files (x86)\EasyPHP-Devserver-17\eds-dashboard
-
找到原因 通過選擇php版本位置追蹤到切換規(guī)則
1553875583440.png
-
拷貝缺失的愛 找到上圖代碼位置,php版本目錄下必須有eds-app-settings.php文件才能加入easyphp中選擇,那么直接在easyphp自帶的版本中拷貝即可,實際發(fā)現(xiàn)有三個php文件需要拷貝(eds開頭即是eds-dashboard項目使用的文件)
1553875817354.png
1553876345489.png
-
根據(jù)自身條件適應(yīng) 拷貝文件后,打開發(fā)現(xiàn)有些需要修改的內(nèi)容,只有eds-app-settings.php需要修改
1553876414413.png
經(jīng)驗之談,不聽吃虧 此時千萬別切換php版本啟動easyphp,否則你會發(fā)現(xiàn)nginx的所有配置將被還原,如果你用了很久的easyphp一定有很多vhost的配置,啟動后將會一夜回到解放前,不信可以試試看,會哭
-
繼續(xù)找坑 通過php的規(guī)律應(yīng)該同樣nginx目錄下應(yīng)該也有一些php文件來啟動nginx 的,或者通過頁面請求追蹤也是可以找到
1553876776050.png
-
繼續(xù)填坑 就是eds-app-actions.php文件了,每次選擇版本啟動easyphp的時候都會讀取store_vhosts.php中內(nèi)容覆蓋conf\nginx-vhosts.conf中,然鵝,store_vhosts.php文件并不存在,然后寫入的就是空字符串了,然后曾經(jīng)上百個虛擬主機就不翼而飛,這個和添加不添加php版本沒有關(guān)系。不注釋每次切換都會覆蓋,除非自己手動保存到store_vhosts.php文件中。
1553876922277.png
-
大結(jié)局 最后選擇7.2啟動就好了
1553877189108.png








