CentOS 6系统升级至PHP 7需通过第三方源实现,因官方源不支持,首先添加Remi或EPEL源,备份原PHP配置文件后卸载旧版PHP及相关扩展,使用yum install php7.0 php-fpm php-mysql等命令安装PHP 7及常用扩展,根据需求调整php.ini参数(如时区、内存限制),升级后需测试网站兼容性,重点检查语法错误及扩展依赖,确认无误后重启nginx或apache服务,使配置生效,整个过程需注意源稳定性及扩展版本匹配,确保系统环境平滑过渡。
CentOS 6作为一款经典的Linux发行版,仍被部分企业用于运行 legacy 业务,其默认软件源仅支持PHP 5.x版本,而PHP 5已于2020年停止支持,存在严重安全漏洞和性能瓶颈,本文将详细介绍如何在CentOS 6系统中通过第三方安装包源,安全升级至PHP 7.x版本,以满足现代应用的需求。
准备工作
检查当前PHP版本
在升级前,先确认系统当前PHP版本:
php -v
若输出类似 PHP 5.3.3(CentOS 6默认版本),则说明需要升级。

备份重要数据
升级PHP可能导致配置文件不兼容,建议提前备份:
# 备份PHP配置文件 cp -r /etc/php.ini /etc/php.ini.bak cp -r /etc/php.d /etc/php.d.bak # 备份Web服务配置(如Apache/Nginx) cp -r /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.bak # Apache cp -r /etc/nginx/conf.d/php.conf /etc/nginx/conf.d/php.conf.bak # Nginx
确保系统基础环境更新
yum update -y yum groupinstall "Development Tools" -y # 安装编译工具(备用)
添加第三方软件源
CentOS 6官方源无PHP 7.x,需借助第三方源,这里选择 Remi源(提供稳定的PHP版本),其依赖EPEL源,需按顺序添加。
安装EPEL源
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装Remi源
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm
禁用默认PHP源,启用Remi的PHP 7源
# 禁用系统默认PHP源 yum-config-manager --disable remi-php54 # CentOS 6默认PHP 5.4 # 启用Remi的PHP 7.0源(可根据需求选择PHP 7.1/7.2/7.3,此处以PHP 7.0为例) yum-config-manager --enable remi-php70
卸载旧版PHP及扩展
为避免冲突,需先彻底卸载旧版PHP及相关扩展:
# 查询已安装的PHP包 rpm -qa | grep php # 卸载所有PHP相关包(示例包名,根据实际查询结果调整) yum remove php php-cli php-common php-gd php-mysql php-mbstring php-xml php-fpm -y
安装PHP 7.x及常用扩展
通过Remi源安装PHP 7.0及常用扩展(可根据业务需求增减):
yum install --enablerepo=remi-php70 php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring php-xml php-json php-opcache php-pecl-mcrypt -y
说明:
php-mysqlnd:PHP 7推荐使用的MySQL驱动,性能优于旧版的php-mysql;php-opcache:PHP加速器,显著提升PHP执行效率;php-pecl-mcrypt:加密扩展(若旧版依赖需安装)。
配置PHP 7
修改PHP核心配置文件
编辑 /etc/php.ini,调整关键参数:
vim /etc/php.ini
修改以下配置(根据实际需求调整):
; 时区设置 date.timezone = Asia/Shanghai ; 内存限制 memory_limit = 256M ; 上传文件大小 upload_max_filesize = 20M post_max_size = 20M ; 开启OP缓存(已默认安装,需确认启用) opcache.enable = 1 opcache.memory_consumption = 128 opcache.max_accelerated_files = 4000
配置PHP-FPM(若使用)
若使用Nginx或需要FastCGI模式,需配置PHP-FPM:
# 编辑PHP-FPM配置文件 vim /etc/php-fpm.d/www.conf ; 修改监听地址(默认为127.0.0.1:9000,可根据需求调整) listen = 127.0.0.1:9000 ; 修改进程用户(默认为apache,若使用Nginx可改为nginx) listen.owner = nginx listen.group = nginx listen.mode = 0660
启动并验证PHP 7
启动PHP-FPM(若安装)
# 启动PHP-FPM并设置开机自启 service php-fpm start chkconfig php-fpm on
重启Web服务
根据使用的Web服务器重启服务:
- Apache:
service httpd restart chkconfig httpd on
- Nginx:
service nginx restart chkconfig nginx on
验证PHP版本
php -v
若输出类似以下内容,则说明升级成功:
PHP 7.0.33 (cli) (built: Jan 10 2020 15:13:23) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies
创建测试页面
在Web根目录(
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

