必须手动为每个网站绑定指定php版本并重载配置才能实现多版本共存且互不干扰;安装多个版本后,需在【网站→设置→php版本】中选择对应版本(如php-8.2),保存后点击右上角「重载配置」,再通过phpinfo()验证生效。

你需要让多个网站在同一台服务器上运行不同PHP版本,比如老项目用PHP 7.4、新项目用PHP 8.2,且彼此完全不干扰——宝塔不会自动分配,必须为每个站点手动绑定对应版本并确保配置生效。
安装多个PHP版本
登录宝塔面板 → 左侧【软件商店】→ 搜索“PHP” → 找到需用的版本(如7.4、8.1、8.2)→ 逐个点击【安装】按钮。
安装过程不覆盖已有版本,每个版本独立部署在/www/server/php/xx/目录下(74代表7.4,82代表8.2),含专属php-fpm二进制、php.ini和扩展目录。
安装完成后,进入【软件管理】→ 找到刚装的PHP版本 → 点击【设置】→【服务】→ 确认状态为“正在运行”,否则后续网站无法调用。
为单个网站绑定指定PHP版本
这一步必须手动操作,宝塔不会按项目需求智能匹配版本。
进入【网站】列表 → 找到目标站点 → 点击右侧【设置】按钮 → 切换至【PHP版本】选项卡 → 从下拉菜单中选择已安装的目标版本(如PHP-8.2)→ 点击【保存】。
【保存后必须点右上角「重载配置」】,否则Nginx仍读旧配置,请求继续打向原PHP-FPM进程,页面会报502或版本未更新。
验证方式:在该站点根目录新建info.php,内容为<?php phpinfo(); ?>,浏览器访问后确认“PHP Version”字段与所选一致。
切换CLI命令默认PHP版本
网站后台用的是绑定的PHP版本,但你在SSH里执行php -v或composer install调用的是系统级/usr/bin/php软链接,它通常指向最后安装的版本,和网站无关。
方法一:使用bt命令快速切换
SSH连接服务器 → 执行bt → 选择编号16(切换PHP-CLI版本)→ 按提示输入目标版本序号 → 完成后执行php -v确认。
方法二:临时切换(仅当前终端有效)
执行export PATH="/www/server/php/82/bin:$PATH"(将82换成你要的版本号)→ 再运行php -v即可看到变化。
方法三:永久切换(推荐写入用户级配置)
执行echo 'export PATH="/www/server/php/81/bin:$PATH"' >> ~/.bashrc → 执行source ~/.bashrc → 验证which php返回路径是否为/www/server/php/81/bin/php。
清理OPcache缓存确保版本立即生效
切换PHP版本后,页面phpinfo()显示仍是旧版本?不是绑定失败,大概率是OPcache还在用老版本编译的opcode。
进入【PHP管理】→ 找到你刚切换到的PHP版本(如PHP-8.1)→ 点击【设置】→ 拉到底部 → 点击【清除OPcache缓存】。
这一步比重启服务更快,且不会中断其他站点;若仍有异常,可再执行service php-fpm-81 restart彻底刷新进程。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











