温馨提示×

ubuntu php-fpm怎样切换版本

小樊
39
2026-10-24 23:50:20
栏目: 编程语言

在 Ubuntu 上切换 PHP-FPM 版本,通常有以下几种常见场景和方法。下面按最常用、最安全的方式说明。


一、先确认已安装的 PHP 版本

ls /usr/bin/php*
ls /etc/php/

或:

dpkg -l | grep php | grep fpm

例如你可能安装了:

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

二、切换 CLI 版本(命令行 php)

sudo update-alternatives --set php /usr/bin/php8.1

查看当前:

php -v

(这一步不影响 Web 服务,只影响命令行)


三、切换 PHP-FPM(Web 服务用,重点)

1️⃣ 停止旧版本 FPM

sudo systemctl stop php7.4-fpm
sudo systemctl disable php7.4-fpm

2️⃣ 启动新版本 FPM

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

四、修改 Nginx / Apache 配置(非常关键)

✅ Nginx 示例

找到站点配置(如 /etc/nginx/sites-enabled/default):

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

改完后:

sudo nginx -t
sudo systemctl reload nginx

✅ Apache(php-fpm 模式)

sudo a2disconf php7.4-fpm
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2

五、一键切换(多版本共存推荐)

如果你经常切换,可以用:

sudo update-alternatives --config php

但 Web 服务仍需手动改 FPM socket 和配置。


六、常见问题

❓ 502 Bad Gateway

通常是:

  • FPM 没启动
  • socket 路径不对

检查:

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

七、推荐使用方式(总结)

✅ 多版本共存
✅ 不同站点用不同 PHP(Nginx 指定 socket)
✅ 切换时只改 FPM + Web 配置


如果你告诉我:

  • 用的是 Nginx 还是 Apache
  • Ubuntu 版本
  • 当前 PHP 版本

我可以给你精确命令。

0 踩