CentOS 6系统通过安装包升级至PHP 7详细指南

admin
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默认版本),则说明需要升级。

CentOS 6系统通过安装包升级至PHP 7详细指南

备份重要数据

升级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原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码