温馨提示×

怎么切换Ubuntu PHP-FPM

小樊
38
2026-07-28 01:23:17
栏目: 编程语言

在 Ubuntu 上切换 PHP-FPM 版本(比如从 7.4 切到 8.1 / 8.2 / 8.3)常见有几种场景,下面按最常用、最安全的方式给你说明。


一、查看已安装的 PHP-FPM 版本

dpkg -l | grep php

ls /run/php/

你会看到类似:

php7.4-fpm.sock
php8.1-fpm.sock

二、安装你需要的 PHP-FPM 版本(如果还没装)

例如安装 PHP 8.2:

sudo apt update
sudo apt install php8.2-fpm

三、切换 PHP-FPM(核心步骤)

✅ 方法一:修改 Nginx / Apache 配置(最推荐)

1️⃣ 停止旧版本 PHP-FPM

sudo systemctl stop php7.4-fpm

2️⃣ 启动新版本 PHP-FPM

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

3️⃣ 修改 Nginx 站点配置

编辑你的站点配置:

sudo nano /etc/nginx/sites-available/default

找到:

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

改成:

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

4️⃣ 重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

这是生产环境最推荐的方式


四、使用 update-alternatives 切换 CLI PHP(可选)

⚠️ 这 只影响命令行 PHP,不影响 PHP-FPM

sudo update-alternatives --config php

示例输出:

1 /usr/bin/php7.4
2 /usr/bin/php8.2

输入编号即可切换。

查看当前 CLI 版本:

php -v

五、Apache 切换 PHP-FPM(如果你用 Apache)

sudo a2dismod php7.4
sudo a2enmod php8.2
sudo systemctl restart apache2

六、常见问题排查

❌ 502 Bad Gateway

原因:

  • PHP-FPM 没启动
  • sock 文件路径写错

解决:

systemctl status php8.2-fpm
ls /run/php/

七、推荐组合(2025 年)

场景 推荐
Laravel 10+ PHP 8.2
WordPress PHP 8.1 / 8.2
新项目 PHP 8.3

如果你愿意,可以把下面信息发我,我可以给你精确切换命令

  • Ubuntu 版本
  • Nginx 还是 Apache
  • 当前 PHP 版本
  • 报错信息(如果有)

0