在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.com
和mirrors.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日