在網(wǎng)站服務(wù)器運(yùn)維管理工具中厌殉,經(jīng)常使用的就是寶塔面板(https://www.bt.cn/)了,非常好用非常方便并且功能強(qiáng)大侈咕,大家有需要的可以去官網(wǎng)查看公罕。
在管理多個(gè)站點(diǎn)過(guò)程中,由于不同源碼使用了不同PHP版本耀销,因此安裝了多個(gè)PHP版本熏兄。
我的服務(wù)器版本為CentOS 7.3,寶塔面板版本為免費(fèi)版 7.2.0树姨,由于部署了新的網(wǎng)站代碼摩桶,部分組件需要使用composer進(jìn)行安裝,因此打開ssh命令行工具帽揪,進(jìn)入站點(diǎn)根目錄硝清,直接運(yùn)行 composer install,提示報(bào)錯(cuò):
大概意思是putenv()被禁用转晰,導(dǎo)致無(wú)法執(zhí)行芦拿。
這個(gè)問(wèn)題很明確,就是默認(rèn)PHP安裝時(shí)禁用了一些可能導(dǎo)致影響安全的函數(shù)或方法查邢,要啟用也很簡(jiǎn)單蔗崎,找到相關(guān)的PHP配置文件修改了就可以了。
由于此站點(diǎn)采用了PHP7.2版本扰藕,也沒(méi)多想就直接打開寶塔面板管理后臺(tái)缓苛,在PHP7.2的配置管理進(jìn)行了修改:
然后到命令行重新輸入命令執(zhí)行,仍然報(bào) putenv被禁用 錯(cuò)誤邓深,重新了PHP甚至Web服務(wù)器還是不行未桥。
明明已經(jīng)修改卻還是報(bào)錯(cuò)笔刹,所以懷疑調(diào)用的PHP并不是修改了配置的PHP,輸入版本命令查看確認(rèn):
這下明白了冬耿,執(zhí)行composer過(guò)程中調(diào)用的為PHP5.6版本舌菜,所以更改了7.2 的配置肯定是不行的,再去寶塔后臺(tái)修改了PHP5.6的配置就可以了亦镶。
不過(guò)我這里想把默認(rèn)調(diào)用的PHP改成7.2的日月,畢竟7.x版本才是以后的主角。
先查看下系統(tǒng)默認(rèn)php命令關(guān)聯(lián)的PHP版本缤骨,在命令行輸入?ls -l /usr/bin/php 顯示:
打開/www/server/php目錄可以看到通過(guò)寶塔安裝的多個(gè)PHP版本都在此處:
要更改成7.2的執(zhí)行以下命令 ln -sf /www/server/php/72/bin/php /usr/bin/php 即可:
再次輸入ls指令可以看到已經(jīng)切換到7.2版本了山孔。