CentOS PHP 升级指南
一、背景与必要性

CentOS 是目前广泛使用的 Linux 发行版之一,其默认的 PHP 版本往往不能满足现代应用和网站的需求,随着 PHP 新版本的发布,旧版本的 PHP 逐渐暴露出安全性、性能以及功能上的不足,PHP 5.4 已经停止维护和支持,使用该版本的系统面临严重的安全隐患,将 CentOS 系统上的 PHP 版本升级到较新的版本(如 PHP 7.2、7.4 或更高)是必要的。
二、检查当前安装的 PHP
查看当前 PHP 版本
- php v
查看当前 PHP 相关的安装包
- yum list installed | grep php
三、更换 RPM 源
为了获取最新版本的 PHP,需要添加新的 RPM 源,以下是针对不同 CentOS 版本的步骤:
CentOS 5.X
- rpm Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOS 6.x
- rpm Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOS 7.X
- rpm Uvh https://mirror.webtatic.com/yum/el7/epelrelease.rpm
- rpm Uvh https://mirror.webtatic.com/yum/el7/webtaticrelease.rpm
四、停止相关服务
在升级 PHP 之前,建议先停止相关服务,以避免在升级过程中出现服务中断或数据损坏的问题。

- service phpfpm stop
- /usr/local/nginx/sbin/nginx s stop
五、删除已安装的旧版本 PHP
- yum remove php* y
六、安装新版本 PHP
1. 安装 PHP 7.2(适用于 CentOS 7.x)
- yum install php72w php72wcli php72wcommon php72wdevel php72wembedded php72wfpm php72wgd php72wmbstring php72wmysqlnd php72wopcache php72wpdo php72wxml php72wldap php72wmcrypt
2. 安装 PHP 8.0(适用于 CentOS 7.x)
确保你的系统是最新的:
- sudo dnf update
添加 EPEL 和 Remi 存储库:

- sudo yum install y https://dl.fedoraproject.org/pub/epel/epelreleaselatest7.noarch.rpm
- sudo yum install https://rpms.remirepo.net/enterprise/remirelease7.rpm
启用 PHP 8.0 模块:
- sudo yumconfigmanager disable 'remiphp*'
- sudo yumconfigmanager enable remiphp80
安装 PHP 8.0 及其扩展:
- sudo yum install y php php{extension_name}
其中{extension_name}
可以替换为你需要安装的具体扩展名,例如phpcli
、phpfpm
、phpmysqlnd
等。
七、重新启动相关服务
完成 PHP 安装后,需要重新启动相关服务以使更改生效。
- service phpfpm start
- /usr/local/nginx/sbin/nginx c /usr/local/nginx/conf/nginx.conf
八、验证新版本安装是否成功
再次查看 PHP 版本,确认新版本已正确安装。
- php v
九、常见问题及解决方案
1.问题:未找到命令php
解决方案:确认php
命令在系统的路径中,可以通过以下命令查找php
可执行文件的位置:
- which php
如果php
不在系统的路径中,可以手动将其添加到路径中,或者直接使用绝对路径运行php
。
**问题:缺少依赖项
解决方案:在安装 PHP 时,可能会遇到缺少依赖项的问题,可以使用以下命令安装常见的依赖项:
- yum install y gcc openssldevel libjpegdevel libpngdevel freetypedevel libxml2devel
然后再重新尝试安装 PHP。
**问题:服务无法启动
解决方案:检查配置文件是否正确,特别是php.ini
和 Web 服务器(如 Nginx)的配置文件,确保配置文件中的路径和参数正确无误,可以查看日志文件,找出具体的错误信息并进行修复。
十、归纳与最佳实践
通过以上步骤,可以在 CentOS 系统上成功升级 PHP 版本,为了确保升级过程顺利,建议在进行升级前备份重要数据和配置文件,定期关注 PHP 的更新和安全公告,及时应用最新的安全补丁和功能更新,以保持系统的安全性和稳定性。