centos7系统下将PHP7.0.18升级到7.42的过程

marco_hsu
marco_hsu 这家伙很懒,还没有设置简介

1 人点赞了该文章 · 1578 浏览

由于网站升级wecenter到3.6.1版本后,腾讯云短信没法发送,刚买的短信包眼看就要泡汤了,经过wc工程师的判断是我PHP环境的问题,那就升级吧,现在把我升级的过程分享一下,希望大家指正,见证一下技术小白的成长之路。

CentOS 7 升级PHP7.0.18到 PHP 7.4
1、首先检测系统安装了多少PHP的组件
yum list installed | grep php
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
php70w.x86_64 7.0.18-1.w7 @webtatic
php70w-cli.x86_64 7.0.18-1.w7 @webtatic
php70w-common.x86_64 7.0.18-1.w7 @webtatic
php70w-fpm.x86_64 7.0.18-1.w7 @webtatic
php70w-gd.x86_64 7.0.18-1.w7 @webtatic
php70w-ldap.x86_64 7.0.18-1.w7 @webtatic
php70w-mbstring.x86_64 7.0.18-1.w7 @webtatic
php70w-mcrypt.x86_64 7.0.18-1.w7 @webtatic
php70w-mysqlnd.x86_64 7.0.18-1.w7 @webtatic
php70w-pdo.x86_64 7.0.18-1.w7 @webtatic

2、根据以上检测出来的组件进行卸载,由于组件之间存在依赖性,所以以以下顺序进行卸载;
--存在依赖关系,严格按照下列顺序卸载
rpm -e php70w-mysql-7.0.18-1.w7.x86_64
rpm -e php70w-pdo-7.0.18-1.w7.x86_64
rpm -e php70w-fpm-7.0.18-1.w7.x86_64
rpm -e php70w-mcrypt-7.0.18-1.w7.x86_64
rpm -e php70w-7.0.18-1.w7.x86_64
rpm -e php70w-cli-7.0.18-1.w7.x86_64
rpm -e php70w-gd-7.0.18-1.w7.x86_64
rpm -e php70w-ldap-7.0.18-1.w7.x86_64
rpm -e php70w-mbstring-7.0.18-1.w7.x86_64
rpm -e php70w-common-7.0.18-1.w7.x86_64

卸载时系统自动备份了配置文件www.conf和PHP.INI

warning: /etc/php-fpm.d/www.conf saved as /etc/php-fpm.d/www.conf.rpmsave
warning: /etc/php.ini saved as /etc/php.ini.rpmsave

3、卸载完成后,开始检测安装源
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

4、安装PHP 7420版本
yum --enablerepo=remi install php74-php

5、根据之前卸载掉的组件安装你所需要php扩展模块
第一批安装
yum install php74-php php74-php-cli php74-php-common php74-php-gd php74-php-ldap php74-php-mbstring php74-php-mcrypt php74-php-mysql php74-php-pdo
第二批安装
yum install php74-php-fpm php74-php-opcache
注:扩展安装格式php74-php-扩展模块名,缺什么扩展只要按照格式安装相应模块即可

6、运行并查看版本, 重启命令, 添加自动启动,链接php文件
#运行并查看版本
php74 -v
#重启命令php-fpm
systemctl restart php74-php-fpm

#添加自动启动
systemctl enable php74-php-fpm

#查看php7.4的安装路径
whereis php

#链接php文件
ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php

先把套接字目录建好和权限设置好
/var/opt/remi/php74/run/php-fpm/
/var/run/php-fpm/

7、修改配置文件 php.ini (文件路径:\etc\opt\remi\php74)
memory_limit = 512M
还有就是上传文件和附件的最大尺寸,默认是2M,可以改成 8M,16M,32M

8、修改www.conf配置文件(文件路径:\etc\opt\remi\php74\php-fpm.d)
user = nginx
group = nginx

listen.owner = nginx
listen.group = nginx
;listen.mode = 0660

需要先建立php-fpm目录,且权限为777全写入全读出
;listen = 127.0.0.1:9000
listen = /var/opt/remi/php74/run/php-fpm/php-fpm.sock

---原始路径 /var/run/php-fpm/php-fpm.sock

修改后重启php服务 service php74-php-fpm restart,让他自动写入php-fpm.sock文件

9、确认写入这个文件后,找到nginx的配置文件(文件路径:\etc\nginx\conf.d\default.conf)
将其中的php文件配置修改为如下路径和php-fpm的www.conf配置一致:
fastcgi_pass unix:/var/opt/remi/php74/run/php-fpm/php-fpm.sock;【unix:/之间不能用空格】
配置好后执行,service nginx restart 测试是否正常;
#添加自动启动
systemctl enable php74-php-fpm

10、如果都正常的话,基本代表升级成功,可以重启服务器测试即可。

发布于 2021-06-21 15:35

免责声明:

本文由 marco_hsu 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论