PHP 7.0 升級到 PHP7.3

URL Link //n.sfs.tw/15074

2021-05-04 16:35:58 By 張○○

前情提要

裝了新版本的 Codeignitor 4,結果一執行才發現他需要的php版本是7.3以上,目前的版本是 7.0w,一執行出現這樣的錯誤:

Parse error: syntax error, unexpected '?' in /home/note/ci4/system/Common.php on line 1124

想著這個php版本也用很久了,順便升級好了(錯)…

作業系統

CentOS Linux release 7.3.1611 (Core)

步驟

一、查看目前版本

# rpm -qa | grep 'php'

# yum list php70w*

二、移除

# yum remove php70w*

上面的過程列出來的原因是後面退版又一個個裝回去。

三、安裝 remi 的 repos.

四、安裝php

依需要加上想裝的套件,不需要的可不裝。

# yum -y install --enablerepo=epel,remi,remi-php73 php php-cli php-common php-gd php-imap php-mbstring php-mysql php-odbc php-pdo php-pear php-process php-snmp php-xml php-xmlrpc php-fpm php-mcrypt

裝的時候有一些警告,主要是現存套件的依存套件失效

結果安裝完重啟後確實升到7.3沒錯也沒問題,但是一些程式的語法要改,例如 continue、each的語法。

為此,我只好退版回去,只要安裝的步驟反回去即可

# yum remove php php-cli php-common php-gd php-imap php-mbstring php-mysql php-odbc php-pdo php-pear php-pgsql php-process php-snmp php-xml php-xmlrpc php-fpm php-mcrypt

# yum install php70w.x86_64 0:7.0.33-1.w7 php70w-bcmath.x86_64 0:7.0.33-1.w7 php70w-cli.x86_64 0:7.0.33-1.w7 php70w-devel.x86_64 0:7.0.33-1.w7 php70w-gd.x86_64 0:7.0.33-1.w7  php70w-mbstring.x86_64 0:7.0.33-1.w7 php70w-mcrypt.x86_64 0:7.0.33-1.w7 php70w-mysqlnd.x86_64 0:7.0.33-1.w7   php70w-opcache.x86_64 0:7.0.33-1.w7  php70w-pdo.x86_64 0:7.0.33-1.w7  php70w-pear.noarch 1:1.10.1-1.w7  php70w-pecl-apcu.x86_64 0:5.1.9-1.w7 php70w-pecl-igbinary.x86_64 0:2.0.1-1.w7   php70w-pecl-imagick.x86_64 0:3.4.3-1.w7  php70w-pecl-memcached.x86_64 0:3.0.3-1.w7   php70w-process.x86_64 0:7.0.33-1.w7  php70w-tidy.x86_64 0:7.0.33-1.w7  php70w-xml.x86_64 0:7.0.33-1.w7

理論上後面的版號不加也行,但是因為是複製貼上,也就沒去修改

參考資料

[1] https://onoredekaiketsu.com/upgrade-to-php-7-3/