升级Centos7系统下VestaCP面板的PHP和MariaDB到PHP 7.4和MariaDB 10.4

在2019年11月28日PHP7.4发布了正式版,网站搬家在10月20号时安装VestaCP面板里面的PHP版本不再是之前的晚年PHP5.6.x而是在不久前就发布的PHP 7.4.0RC4时别提有多高兴了,虽然是在生产环境中使用测试版。

可是在这之后的使用中我几次yum update都没有看到PHP版本的版本有过变化反倒是他的扩展不断的更新,刚开始RC5、RC6甚至在发布正式版后还没有更新我以为remi源没有更新(还在讨论中说了,现在看来实属是错怪了remi源。)已经半个多月还不能yum update到正式版我就不能在怀疑或者犹豫了,既然我都在7.0、7.1、7.2、7.3的版本中一路走来这次PHP7.4也不差这一步了。
虽然说是Centos7下面安装PHP7.4但是使用remi同理也可以应用于Centos6、Centos8系统,只需要安装对应的remi源且源支持。

PHP7.4

本文默认已在安装VestaCP时选择了remi源,如果没有请自行安装:
安装Remi源(下面是针对Centos7的如果是Centos6或者Centos8请将下面的7改成对应的数字)

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm

升级remi源:

yum -y --enablerepo=remi update remi-release

停止php-fpm/httpd并卸载旧版本php:
如果仅安装了nginx,那么要停掉php-fpm:

service php-fpm stop

如果安装了apache,那要停止httpd:

service httpd stop

卸载当前版本php:

yum -y remove php

安装PHP7.4:

yum -y --enablerepo=remi-php74 install php php-pear php-bcmath php-mysqlnd php-gd php-common php-fpm php-intl php-cli php-xml php-pecl-apcu php-pdo php-gmp php-process php-pecl-imagick php-devel php-mbstring --skip-broken  php-opcache php-redis

安装redis就选择php-redis
安装memcache就选择php-memcache
如果您有需要可以将php74中74替换成您需要的版本,如:PHP7.3-> PHP73、PHP7.2 -> PHP72、PHP7.1 -> PHP71 、PHP7.0 -> PHP70。(建议安装还受支持的版本)

重启php-fpm/httpd:
php-fpm:

service php-fpm start

httpd:

service httpd start

MariaDB 10.4

这个纯属就是为了换个镜像源,因为我在搬家时已经更换到10.4.x了,只是受限于网络原因每次更新MariaDB都是一个漫长的等待于是决定将其使用当前服务器所提供的镜像源。

[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

由于是等待漫长的更新后才替换的有待测试。

name = MariaDB
baseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

就写该文章时对比mirrors.aliyun.commirrors.tuna.tsinghua.edu.cn两个镜像站发现“清华大学开源软件镜像站”的更新时间比“阿里巴巴开源镜像站”的新,当然这我本人不能判断谁有谁劣只能说明更新时间不同。至于选择哪家源要实际使用才知道。水上两家的源不是为了引战纯粹为了方便自己/他人替换,我所选择Aliyun的源也纯粹因为是当前服务器所在的服务商的源(没有找到内网地址有些遗憾,否则就走内网了。)

总结

由于修改麻烦,否则打算将remi源里面的官方源地址全部都修改成“清华大学开源软件镜像站”的以加快下载更新速度。

照例贴一下更新前后的版本变化:
更新前php -v:

PHP 7.4.0RC4 (cli) (built: Oct 15 2019 11:28:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0RC4, Copyright (c), by Zend Technologies

更新前php –modules:

[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
igbinary
imagick
imap
intl
json
libxml
mbstring
mcrypt
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

删除当前PHP:

Removed:
  php.x86_64 0:7.4.0~RC4-10.el7.remi

Complete!

更新后php -v:

PHP 7.4.0 (cli) (built: Nov 26 2019 20:13:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0, Copyright (c), by Zend Technologies

更新后php –modules:

[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
igbinary
imagick
imap
intl
json
libxml
mbstring
mcrypt
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

可以看到PHP 7.4.0 (cli) (built: Nov 26 2019 20:13:36) ( NTS )所以我实属是冤枉Remi说他更新慢了,我在单独更新PHP时提示Package(s) php74 available, but not installed.促使我想更新之前的版本一样将PHP更新到7.4.0的。
这次会记录php --modules是为了看看我有没有少安装或者漏安装那些软件(虽然我是remove php后才查看的)。
可是看到modules有redis让我想起了我在刚安装玩VestaCP时才自行安装的,虽然那时候正式版没有发布还是RC4,可是我有点纳闷为什么小版本可以update没有记错的话之前7.2也是update就到7.3了不知道为什么这次就不行了???!!!

参考

阿里巴巴开源镜像站-阿里云官网开发者社区_云计算社区:
https://developer.aliyun.com/mirror
清华大学开源软件镜像站 | Tsinghua Open Source Mirror:
https://mirrors.tuna.tsinghua.edu.cn/
阿里云MariaDB yum源配置:
https://blog.51cto.com/860143/2438267
Centos7系统升级VestaCP面板的PHP和MariaDB到PHP 7.3和MariaDB 10.3:
https://www.cyzwb.com/2019/04/188.html

ChiuYut

2019年12月15日

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!