如何在linux中升級和切換php版本?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),永修企業(yè)網(wǎng)站建設(shè),永修品牌網(wǎng)站建設(shè),網(wǎng)站定制,永修網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,永修網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
最近想要學(xué)習(xí)一下swoole,雖然機子上裝的是php7.0,但是考慮到一些有關(guān)swoole的輪子要依賴更高版本(例如swooletw),所以就在機子上升級了php7.2,下面是在網(wǎng)上搜索或者自己折騰出來的一些筆記。
版本升級操作(直接從7.0升級到7.2):
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get upgrade php # 拓展升級 sudo apt-get install php7.2-mbstring sudo apt-get install php7.2-gd sudo apt-get install php7.2-dom sudo apt-get install php7.2-MySQL sudo apt-get install php7.2-curl ......
有需要可以安裝swoole:
https://wiki.swoole.com/wiki/page/6.html
這里建議直接用pecl install swoole安裝,一步到位,如果手動編譯,貌似會出現(xiàn)各種因為版本對應(yīng)不上的問題。
切換版本:
# 禁用7.0版本 sudo a2dismod php7.0 # 啟用7.2版本 sudo a2enmod php7.2 # 重啟nginx(或apache) sudo service nginx restart
如果出現(xiàn)ERROR: Module php7.0 does not exist! ,執(zhí)行sudo apt-get install libapache2-mod-php7.0再執(zhí)行上面操作
這時候在瀏覽器查看phpinfo()應(yīng)該就可以看到7.2版本了,但是命令行cli那里還是7.0,需要執(zhí)行下面操作:
# 切換cli sudo update-alternatives --set php /usr/bin/php7.2
這樣在命令行執(zhí)行php -v也能看到7.2版本了
如果有兩個版本,其實可以直接用sudo service php7.0-fpm stop/restart來進(jìn)行切換,當(dāng)然這只能切換php-fpm,也就是web端,命令行cli端還是不能切換的
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE):
升級版本后,我還折騰了php7.1,然后第二天回來啟動電腦就發(fā)現(xiàn)所以laravel項目都報這樣的錯,網(wǎng)上搜索后知道是版本問題,但是看了下php -v沒問題就是7.2,這時候打算重啟php報錯,以下的報錯就是問題所在了:
ERROR: unable to bind listening socket for address '127.0.0.1:9001': Address already in use (98)
大致就是端口被占用,然后php fastCGI程序啟動失敗
解決方法:
ps aux|grep php查看所有php-fpm進(jìn)程,發(fā)現(xiàn)有個php7.1-fpm進(jìn)程,拿到進(jìn)程id,再kill掉就能夠重啟了。
網(wǎng)上查詢的解決方法是killall php-pfm這個命令,執(zhí)行后只有顯示 php-pfm:沒有發(fā)現(xiàn)操作,這種方法沒用,最后使用上面這種查詢進(jìn)程,然后根據(jù)進(jìn)程id殺死進(jìn)程的方法
關(guān)于如何在linux中升級和切換php版本問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。