温馨提示×

ubuntu php-fpm怎么切换版本

小樊
40
2026-10-01 11:39:15
栏目: 编程语言

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


一、确认已安装的 PHP 版本

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

例如你可能安装了:

  • PHP 7.4
  • PHP 8.1
  • PHP 8.2

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

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

或交互式选择:

sudo update-alternatives --config php

✅ 验证:

php -v

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

1️⃣ 停止旧 PHP-FPM

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

2️⃣ 启动新 PHP-FPM

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

四、修改 Web 服务器配置(非常关键)

✅ Nginx 示例

编辑站点配置:

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

找到:

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

改为:

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 reload apache2

五、一键切换(推荐脚本思路)

sudo update-alternatives --set php /usr/bin/php8.1
sudo systemctl disable php7.4-fpm
sudo systemctl enable php8.1-fpm
sudo systemctl restart php8.1-fpm

六、常见问题排查

❌ 502 Bad Gateway

  • socket 路径不对
  • php-fpm 没启动
ls /run/php/
systemctl status php8.1-fpm

❌ 模块缺失

sudo apt install php8.1-mysql php8.1-gd php8.1-mbstring

七、总结一句话

CLI 用 update-alternatives,Web 用改 fpm socket + 重启服务

如果你告诉我:

  • Ubuntu 版本
  • Nginx / Apache
  • 当前 & 目标 PHP 版本

我可以给你精确命令。

0 踩