当php最新稳定版本发布的时候,只要我的Drupal或者Wordpress支持,通常都是尽快升级的。相对于ubuntu系统,这个升级会比较简单一点,下面记录一下升级过程。
Centos升级到php7.4+
在管理员或者sudo权限下执行更新
yum update -y
更新前做好备份工作,这里由于没有发现centos直接升级的操作,需要卸载旧版,所以注意备份/etc/php-fpm.d/www.conf这个文件,这个文件配置了php-fpm监听方式和所有者,部分内容如下:
listen = /dev/shm/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
如果更新后fpm正常运行,服务器跑不起来,多半是这个地方配置被覆盖导致。
查看并记录当前已经安装的modules:
php -m
查看当前php相关的包
rpm -qa | grep php
移除目标相关php包
yum remove "php*" -y
如果没有安装remi库则需先安装
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
完成以上操作就可以开始安装了,模块比较多,也可以单独安装:
yum --disablerepo=remi-php73 --enablerepo=remi-php74 install php php-pdo php-fpm php-gd php-opcache php-common php-cli php-mbstring php-curl php-embedded php-mcrypt php-xmlrpc php-mysql php-mysqlnd php-pecl-mcrypt php-xml php-json -y
完成以后,需要注意检查新的www.conf文件中的监听方式和所有者,确保和备份中的内容一致,注意php-fpm.sock这个路径文件是在php-fpm配置sock监听模式且服务重启之后生成的,能使用sock方式就不要使用端口方式来监听。最后一步操作就是检查nginx的conf.d中的网站配置文件中的sock文件是否和生成的路径和名称一致。
Ubuntu 升级到php7.4+
ubuntu升级这个操作就简单多了,直接上命令:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt upgrade php
然后安装扩展:
sudo apt-get install php7.4-{common,curl,xsl,iconv,bcmath,bz2,intl,gd,mbstring,mysqlnd,zip,fpm,cli,soap,redis} -y
如有必要,可以手动删除旧版模块
sudo apt remove php7.3-*
到这里,升级完成,直接检查一下nginx的网站配置文件中的sock文件是否和生成的路径和名称一致。
重启一下php-fpm服务,完成。
sudo systemctl restart php-fpm
分类