适用环境:Alibaba Cloud Linux 3 (Soaring Falcon) · PLATFORM_ID = platform:al8 · rpm -E %{rhel} = 8
升级路径:PHP 8.0.30 (el7.remi) → PHP 8.3.31 (el8.remi)
基础环境:MySQL 8.0.40 · Nginx 1.20.1
🔍 一、一键环境检查
升级前先跑这段命令确认当前状态:
echo "=== PHP ===" && php -v 2>&1 | head -1 echo "=== MySQL ===" && (mysql --version 2>&1 || mariadb --version 2>&1) echo "=== Nginx ===" && nginx -v 2>&1 echo "=== HTTPS ===" && grep -r "ssl_certificate" /etc/nginx/ 2>/dev/null | grep -v "#" echo "=== php-fpm ===" && systemctl status php-fpm 2>&1 | head -3 echo "=== PHP扩展 ===" && php -m | grep -E "gd|mbstring|pdo|mysqlnd|sodium|xml" 2>&1
💣 二、踩坑全记录(6 个坑)
🚀 三、PHP 8.3 升级步骤(8 步)
1 卸载旧 PHP
systemctl stop php-fpm 2>/dev/null rpm -qa | grep php | xargs rpm -e --nodeps
2 安装 Remi 源(强制绕过依赖)
rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-8.rpm --nodeps --force
3 配置仓库
dnf config-manager --disable remi-php80 dnf config-manager --enable remi-php83 dnf config-manager --enable remi-modular
4 安装 PHP 8.3 核心
dnf install -y php php-cli php-fpm php-common php-pdo php-mysqlnd php-sodium \ --disablerepo="*" \ --enablerepo="remi-php83,remi-modular,alinux3-os,alinux3-updates,alinux3-plus,alinux3-module" \ --skip-broken
5 安装依赖库
dnf install -y gd3php oniguruma5php \ --disablerepo="*" \ --enablerepo="remi-safe,remi-modular,alinux3-os,alinux3-updates,alinux3-plus"
6 安装 gd 和 mbstring 扩展
dnf install -y php-gd php-mbstring \ --disablerepo="*" \ --enablerepo="remi-php83,remi-modular,alinux3-os,alinux3-updates,alinux3-plus,alinux3-module"
7 修复 php-fpm 监听
# 确认 Nginx 转发方式 grep "fastcgi_pass" /etc/nginx/nginx.conf # 改为 TCP 监听(匹配 Nginx 的 127.0.0.1:9000) sed -i 's|^listen = /run/php-fpm/www.sock|listen = 127.0.0.1:9000|' /etc/php-fpm.d/www.conf
8 启动并验证
systemctl restart php-fpm && systemctl enable php-fpm php -v php -m | grep -E "gd|mbstring|pdo|mysqlnd|sodium|xml" ss -tlnp | grep 9000 systemctl reload nginx
✅ 四、验证清单
| 检查项 | 要求 | 命令 | 状态 |
|---|---|---|---|
| PHP 版本 | ≥ 8.3 | php -v |
✅ 8.3.31 |
| MySQL 版本 | ≥ 8.0 | mysql --version |
✅ 8.0.40 |
| Nginx | 运行中 | systemctl status nginx |
✅ |
| HTTPS | 证书已配置 | grep ssl_certificate /etc/nginx/nginx.conf |
✅ |
| php-fpm | 运行中 + 9000 端口 | ss -tlnp | grep 9000 |
✅ |
| PHP 扩展 | gd/mbstring/pdo/mysqlnd/sodium | php -m |
✅ |
🖥️ 五、服务器速查卡
系统Alibaba Cloud Linux 3 (Soaring Falcon)
PHP8.3.31 (NTS gcc x86_64)
MySQL8.0.40 (Community Server)
Nginx1.20.1
php-fpm127.0.0.1:9000
Web 根目录/usr/share/nginx/html/wordpress
📦 六、仓库速查
| 仓库 ID | 用途 | 默认状态 |
|---|---|---|
alinux3-os |
系统基础包 | 启用 |
alinux3-updates |
系统更新 | 启用 |
alinux3-plus |
额外包 | 启用 |
alinux3-module |
模块元数据 | 启用 |
remi-php83 |
PHP 8.3 包 | 手动启用 |
remi-modular |
Remi 模块元数据 | 手动启用 |
remi-safe |
gd3php / oniguruma5php | 启用 |
📝 shitou · 2026-06-10 · 基于实战踩坑整理
[…] 如果你的服务器还在用 PHP 8.0,请先参考:阿里云 Linux 3 升级 PHP 8.3 完整教程,完成 PHP […]