温馨提示×

LNMP环境如何切换PHP版本

小樊
43
2026-07-11 00:07:11
栏目: 编程语言

LNMP 环境(Linux + Nginx + MySQL + PHP) 中切换 PHP 版本,主要取决于你使用的是 官方 LNMP 一键包、宝塔面板,还是手动编译安装。下面按常见场景详细说明。


一、LNMP 一键安装包(常用)

适用于:
https://lnmp.org
使用 lnmp 命令管理

1️⃣ 查看当前 PHP 版本

php -v

2️⃣ 查看已安装的 PHP 版本

ls /usr/local/php*/

常见路径:

  • /usr/local/php/
  • /usr/local/php7/
  • /usr/local/php8/

3️⃣ 切换 PHP 版本(官方方式)

LNMP 提供 upgrade.sh 工具:

cd lnmp1.x
./upgrade.sh

选择:

1) PHP

然后选择你要安装的 PHP 版本(如 7.4、8.0、8.1)

✅ 会:

  • 自动编译新版本
  • 自动修改 Nginx 使用的 PHP-FPM

⚠️ 注意:

  • 不会删除旧版本
  • 会替换 /usr/local/php 软链接

4️⃣ 手动切换 PHP-FPM(不重装)

① 停止当前 PHP-FPM

lnmp php-fpm stop

② 启动指定版本的 PHP-FPM

/usr/local/php7.4/sbin/php-fpm

/usr/local/php8.1/sbin/php-fpm

③ 修改 Nginx 配置

编辑站点配置:

vim /usr/local/nginx/conf/vhost/yourdomain.conf

找到:

fastcgi_pass  unix:/tmp/php-cgi.sock;

改为对应版本:

fastcgi_pass  unix:/tmp/php7.4-cgi.sock;

重载 Nginx:

lnmp nginx reload

二、宝塔面板(最简单)

1️⃣ 安装多个 PHP 版本

宝塔 → 软件商店 → PHP

安装多个版本(如 7.2 / 7.4 / 8.1)

2️⃣ 切换站点 PHP 版本

网站 → 设置 → PHP 版本

直接选择即可 ✅

✅ 宝塔会自动:

  • 切换 PHP-FPM
  • 修改 Nginx 配置
  • 重载服务

三、手动编译 / 多 PHP 共存(高级)

1️⃣ 编译多个 PHP 版本

./configure \
--prefix=/usr/local/php81 \
--enable-fpm \
--with-mysqli \
--with-openssl
make && make install

2️⃣ 启动不同 PHP-FPM

/usr/local/php81/sbin/php-fpm

3️⃣ Nginx 指定不同 sock

fastcgi_pass unix:/usr/local/php81/var/run/php-fpm.sock;

✅ 可实现:

  • 不同站点用不同 PHP 版本
  • 同一服务器多版本共存

四、常见问题排查

❌ 502 Bad Gateway

原因:

  • PHP-FPM 没启动
  • sock 路径不匹配

检查:

ps aux | grep php-fpm
ls /tmp/php*.sock

❌ PHP 版本没变

which php
php -v

可能原因:

  • CLI 与 FPM 版本不同
  • Nginx 没 reload

五、推荐方案总结

场景 推荐方式
LNMP 一键包 upgrade.sh
宝塔 面板切换
多版本共存 多 PHP-FPM
生产环境 不同站点不同 PHP

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

  • LNMP 版本
  • 当前 PHP 版本
  • 目标 PHP 版本
  • 是否宝塔

我可以给你 精确到命令级的切换方案

0