CentOS系统PHP更新与升级指南
在进行PHP更新或升级前,需完成以下关键步骤以避免数据丢失或配置冲突:
/var/www/html)、数据库(使用mysqldump导出)及PHP配置文件(/etc/php.ini、/etc/php-fpm.conf及相关www.conf文件)。php -v确认当前PHP版本,避免误操作导致版本回退。sudo yum update更新CentOS系统及所有已安装软件包,确保依赖项兼容。若需将PHP从当前小版本升级至最新稳定版(如CentOS 7中从PHP 7.4升级至7.4.x),可通过YUM包管理器快速完成:
sudo yum install epel-release安装。sudo yum update php\*,YUM会自动检测并升级PHP核心及已安装的扩展(如php-mysqlnd、php-gd等)。sudo systemctl restart httpdsudo systemctl restart nginx + sudo systemctl restart php-fpmphp -v确认升级后的PHP版本。若官方或EPEL仓库无所需PHP版本(如需要PHP 8.0+),可使用Remi仓库(由Remi维护的企业级PHP仓库):
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm(CentOS 7)或对应CentOS版本的Remi仓库包。yum-config-manager启用所需PHP版本的仓库。例如,升级至PHP 8.0:sudo yum-config-manager --enable remi-php80
sudo yum update php\*,YUM会从Remi仓库下载并安装指定版本的PHP及扩展。php -v确认升级成功。若需安装Remi仓库未提供的PHP版本(如PHP 8.3早期版本),可通过手动编译安装:
sudo yum install gcc make autoconf libc-dev zlib-devel libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel安装编译工具及依赖库。php-8.3.0.tar.gz),运行tar -zxvf php-8.3.0.tar.gz解压,进入源码目录。./configure --prefix=/usr/local/php83 \
--with-config-file-path=/usr/local/php83/etc \
--enable-mbstring \
--with-curl \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-freetype-dir=/usr \
--with-zlib \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data
make编译源码,sudo make install安装至指定目录。cp php.ini-production /usr/local/php83/etc/php.inicp sapi/fpm/php-fpm.conf /usr/local/php83/etc/php-fpm.conf,cp sapi/fpm/www.conf /usr/local/php83/etc/php-fpm.d/www.confwww.conf中的user和group为Web服务器用户(如www-data)。/etc/profile,添加export PATH=/usr/local/php83/bin:$PATH,运行source /etc/profile使路径生效。php -v确认手动安装的PHP版本。php-mysqlnd、php-gd)与新版本兼容,可通过php -m查看已加载扩展,缺失的扩展需重新安装。/etc/php.ini),避免冲突。