温馨提示×

PHP-FPM在Ubuntu如何更新

小樊
42
2026-07-13 20:42:30
栏目: 编程语言

Ubuntu 上更新 PHP-FPM 取决于你是通过 Ubuntu 官方源 还是 第三方 PPA(如 ondrej/php) 安装的。下面按常见情况说明。


一、先确认当前 PHP-FPM 版本

php -v
php-fpm -v

查看已安装的 PHP-FPM 服务名(可能不止一个版本):

systemctl list-units --type=service | grep fpm

例如:

  • php7.4-fpm
  • php8.1-fpm
  • php8.2-fpm

二、通过 Ubuntu 官方源更新(不推荐跨大版本)

1️⃣ 更新软件包索引

sudo apt update

2️⃣ 升级所有软件(包含 PHP-FPM)

sudo apt upgrade

✅ 适合:

  • 小版本更新(如 8.1.10 → 8.1.12)
  • 不更换主版本

❌ 不适合:

  • 从 PHP 7.x → 8.x(官方源通常没有新版本)

三、通过 ondrej/php PPA 更新(推荐 ✅)

这是 最常见、最安全的方式,支持多版本 PHP。

1️⃣ 添加 PPA(如果还没加)

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

2️⃣ 升级 PHP-FPM

sudo apt update
sudo apt upgrade

四、升级到新的 PHP 主版本(例如 8.1 → 8.2)

⚠️ 不能“直接升级”,需要安装新版本并切换

1️⃣ 安装新版本 PHP-FPM

sudo apt install php8.2-fpm

2️⃣ 停止旧版本

sudo systemctl stop php8.1-fpm
sudo systemctl disable php8.1-fpm

3️⃣ 启动新版本

sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm

五、修改 Web 服务器配置(非常重要)

✅ Nginx

编辑站点配置:

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

重载 Nginx:

sudo systemctl reload nginx

✅ Apache

sudo a2dismod php8.1
sudo a2enmod php8.2
sudo systemctl restart apache2

六、检查 PHP-FPM 状态

systemctl status php8.2-fpm

查看错误日志:

journalctl -u php8.2-fpm

七、清理旧版本(可选)

sudo apt remove php8.1-fpm
sudo apt autoremove

八、常见注意事项

✅ 备份:

  • /etc/php/*/fpm/
  • Nginx / Apache 配置

✅ 更新后检查:

  • 扩展是否安装(如 php8.2-mysql
  • php.ini 是否迁移

九、快速总结

场景 命令
小版本更新 apt update && apt upgrade
新主版本 安装新 PHP-FPM + 切换
推荐源 ondrej/php PPA
Web 服务 修改 sock / module

如果你愿意,可以告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 当前 PHP 版本
  • 使用 Nginx 还是 Apache

我可以给你 精确、可复制的命令

0