在 Ubuntu 上升级 php-fpm 主要有两种方式,取决于你当前是通过 Ubuntu 官方源 还是 第三方 PPA(如 ondrej) 安装的。下面按常见场景说明。
php -v
php-fpm -v
查看已安装的 php-fpm 包:
dpkg -l | grep php
如果只是 小版本升级(如 8.1.2 → 8.1.10):
sudo apt update
sudo apt upgrade
或只升级 php-fpm:
sudo apt upgrade php-fpm
✅ 适合:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
apt-cache search php | grep "^php[0-9]"
例如:
php8.1
php8.2
php8.3
sudo apt install php8.2-fpm
同时安装常用扩展:
sudo apt install php8.2-fpm php8.2-cli php8.2-mysql php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip
修改 fastcgi_pass:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
重启:
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
禁用旧版本,启用新版本:
sudo a2disconf php8.1-fpm
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2
php -v
sudo apt remove php8.1-fpm
sudo apt autoremove
✅ 备份配置
cp -r /etc/php/8.1 /etc/php/8.1.bak
✅ 检查 php.ini 差异
diff /etc/php/8.1/fpm/php.ini /etc/php/8.2/fpm/php.ini
✅ 确认扩展兼容性
✅ 先测试再上线
sudo systemctl status php8.2-fpm
journalctl -xe
ls /run/php/
| 场景 | 推荐方式 |
|---|---|
| 小版本升级 | apt upgrade |
| 跨版本升级 | Ondrej PPA |
| 生产环境 | 新版本并行安装 + 逐步切换 |
如果你愿意,可以告诉我:
我可以给你 精确到命令的升级方案 ✅