温馨提示×

Ubuntu PHP-FPM如何升级

小樊
36
2026-08-24 11:14:01
栏目: 编程语言

在 Ubuntu 上升级 PHP-FPM 通常有两种常见场景:

  1. 升级到 Ubuntu 仓库中更新的小版本(如 8.1.2 → 8.1.12)
  2. 升级到新的 PHP 大版本(如 PHP 8.1 → PHP 8.2 / 8.3)

下面分别说明。


一、查看当前 PHP-FPM 版本

php -v
php-fpm8.1 -v   # 根据实际版本

或:

dpkg -l | grep php

二、升级到仓库中的最新小版本(推荐)

如果只是安全更新或小版本升级:

sudo apt update
sudo apt upgrade

如果只想升级 PHP 相关:

sudo apt upgrade php*

✅ 不会影响网站配置
✅ 官方源最稳定


三、升级到新的 PHP 大版本(如 8.1 → 8.2 / 8.3)

Ubuntu 默认仓库通常 不会自动升级大版本,需要使用 Ondřej Sury 的 PPA(最常用、最安全)。

1️⃣ 添加 PHP PPA

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

2️⃣ 安装新版本 PHP-FPM

例如升级到 PHP 8.2

sudo apt install php8.2 php8.2-fpm

常用扩展:

sudo apt install php8.2-mysql php8.2-curl php8.2-xml php8.2-mbstring php8.2-zip

3️⃣ 切换 Nginx / Apache 使用的 PHP-FPM

✅ Nginx

查看 sock 文件:

ls /run/php/

修改 nginx 配置:

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

重载 Nginx:

sudo systemctl reload nginx

✅ Apache(mpm_event + php-fpm)

禁用旧版本:

sudo a2disconf php8.1-fpm
sudo a2enconf php8.2-fpm
sudo systemctl reload apache2

4️⃣ 停止并禁用旧版本 PHP-FPM

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

启动新版本:

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

四、检查是否升级成功

php -v
php-fpm8.2 -v

查看运行状态:

systemctl status php8.2-fpm

五、升级注意事项(非常重要)

备份配置

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

确认网站兼容性

  • 框架版本(Laravel / ThinkPHP / WordPress)
  • 废弃函数(如 utf8_encode

升级顺序建议

测试环境 → 预发布 → 生产环境


六、回滚方案(如果出问题)

sudo apt install php8.1 php8.1-fpm

并切回旧 sock 或 Apache 配置即可。


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

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

我可以给你 一条完全可执行的升级命令清单

0