CentOS 6系统将PHP 7.1升级至7.3/7.4的操作方案咨询
CentOS 6 升级PHP 7.3 安全操作流程
*所有操作前必须完成备份,云服务器建议先打整机快照,物理服务器需备份以下内容:
- PHP配置文件:
/etc/php.ini、/etc/php.d/目录下所有配置 - Web服务配置:
/etc/httpd/conf.d/下php相关配置文件 - 业务代码中涉及PHP配置的自定义文件*
步骤1:精准卸载原有PHP 7.1 包
你当前使用的是webtatic源的php71w系列包,不要直接执行yum remove php*(容易误删依赖PHP的系统工具或第三方包),执行以下命令精准卸载:
yum remove php71w-* mod_php71w -y
卸载完成后执行php -v确认已无PHP可执行文件即可。
步骤2:安装PHP 7.3 匹配扩展包
你现有安装的PHP扩展需全部匹配安装,避免业务缺少扩展报错,根据你使用的源选择对应命令:
若使用webtatic源(包前缀为php73w-):
yum install php73w-cli php73w-common php73w-xml php73w-pdo php73w-mbstring php73w-mysqlnd mod_php73w -y
若使用remi源:
先关闭旧版本PHP源,开启PHP 7.3源安装即可:
yum --disablerepo=*php71* --enablerepo=remi-php73 install php php-cli php-common php-xml php-pdo php-mbstring php-mysqlnd mod_php -y
如果业务需要其他扩展(比如gd、curl等),可在安装命令后追加对应包名。
步骤3:版本与扩展校验
安装完成后先验证版本是否符合预期:
php -v
确认返回PHP 7.3.x版本信息后,验证扩展是否齐全:
php -m
检查返回列表中是否包含mbstring、pdo、mysqlnd、xml、json等业务依赖的扩展,无缺失再进行下一步。
步骤4:配置校验与服务重启
- 对比备份的旧php.ini文件,将自定义配置(时区、内存限制、上传大小、错误日志路径等)同步到新的php.ini中
- 校验Apache配置语法是否正确:
httpd -t
返回Syntax OK即为正常,执行service httpd restart重启Apache服务生效。
若使用php-fpm,需先执行php-fpm -t校验配置,再重启php-fpm服务
步骤5:业务功能验证
重启服务后先测试PHP基础解析正常,再验证业务核心功能:
- 数据库连接是否正常
- 上传、导出、XML解析等常用功能是否可用
- 业务日志无PHP相关报错
故障回滚方案
若升级后业务出现无法修复的兼容问题,立即执行回滚:
- 卸载PHP 7.3 所有包:
yum remove php73w-* mod_php73w -y(remi源执行yum remove php-* mod_php -y) - 重装原有PHP 7.1 包:
yum install php71w-cli php71w-common php71w-xml php71w-pdo php71w-mbstring php71w-mysqlnd mod_php71w -y - 恢复备份的PHP配置文件,重启Apache服务即可恢复业务。
后续建议
CentOS 6已于2020年停止官方维护,存在大量安全漏洞,建议尽快规划业务迁移到CentOS 7/8或其他主流维护中的操作系统版本。
内容的提问来源于stack exchange,提问作者ied3vil
相关产品推荐
相关产品推荐

