阿里云服务器 Alibaba Cloud Linux 3 升级 PHP 版本v8.3.36

PHP wes 12 hours ago (2026-10-22) 11 views
📑 本文导航

修复 PHP php2shell 漏洞:CVE-2026-109618 / CVE-2026-109619

需升级PHP到PHP v8.3.36,升级步骤如下:

阿里云服务器 默认的操作系统是 Alibaba Cloud Linux 3 (主流,兼容 EL8,用 dnf/yum)。

先确认当前版本 & 安装模式

php -v
# 看包名
rpm -qa | grep php | sort
# 看模块(模块化模式)
dnf module list php

两种形态区分:

  1. 模块化模式(推荐,包名叫 php、php-fpm):dnf module list php 能看到 php:remi-8.3
  2. SCL 软件集模式(包名带 php83,并行多 PHP):命令是 php83 -v、服务 php83-php-fpm

已确认当前测试机器的版本:

模块化 remi-8.3 模式(php:remi-8.3 已启用),包名就是 php-xxx,不是 php83 SCL。 当前版本:8.3.32,目标升级 8.3.36,Alibaba Cloud Linux 3(EL8 兼容)。

配置路径:/etc/php/8.3/ fpm 服务名:php-fpm

 

下面开始升级:

配置文件位置

  • 主 fpm 配置:/etc/php-fpm.conf
  • pool 池配置目录:/etc/php-fpm.d/(里面 www.conf)
  • 配套 web 配置:/etc/nginx/conf.d/php-fpm.conf、/etc/httpd/conf.d/php.conf
  • php.ini 不在 php-fpm 包里,在 php-common,查 php.ini 位置:
rpm -ql php-common | grep php.ini

✅ 现在执行备份(全部关键配置)

# 备份php主配置ini(等下上面命令会告诉你路径,先把fpm相关先备份)
cp /etc/php-fpm.conf /etc/php-fpm.conf.bak.$(date +%Y%m%d_%H%M%S)
cp -r /etc/php-fpm.d /etc/php-fpm.d.bak.$(date +%Y%m%d_%H%M%S)
# 备份nginx的php-fpm配置
cp /etc/nginx/conf.d/php-fpm.conf /etc/nginx/conf.d/php-fpm.conf.bak.$(date +%Y%m%d_%H%M%S)

执行这条拿到 php.ini 真实路径:

rpm -ql php-common | grep php.ini

拿到路径后,再单独备份 php.ini,示例(假设返回 /etc/php.ini):

cp /etc/php.ini /etc/php.ini.bak.$(date +%Y%m%d_%H%M%S)

备份完成之后,继续下面步骤

dnf clean all
dnf makecache

预检查仓库是否存在 8.3.36:

dnf --showduplicates list php-cli

升级命令:

dnf update php-cli php-common php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo php-pecl-zip php-xml gd3php oniguruma5php

升级完成校验:

php -v
systemctl restart php-fpm
systemctl status php-fpm
php -m

升级成功:
# php -v
PHP 8.3.36 (cli) (built: Oct 19 2026 14:00:34) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.36, Copyright (c) Zend Technologies
with Zend OPcache v8.3.36, Copyright (c), by Zend Technologies

 


↑