宝塔面板支持多PHP版本共存但需手动绑定;已安装版本在软件商店中标“已安装”;网站绑定在站点设置中选择PHP版本并重载配置;CLI需用绝对路径调用对应版本;常见失效原因为php-fpm未启动、OPcache未清理或伪静态规则干扰。
宝塔面板支持多 PHP 版本共存,但项目不会自动按需切换版本——必须手动绑定到站点或通过命令行指定运行环境,否则默认走面板设置的“主版本”。
怎么看当前已安装哪些 PHP 版本
在宝塔面板左侧菜单点「软件商店」→ 搜索 PHP,已安装的版本会显示「已安装」绿色标签;未安装的可直接点击安装。注意:不同版本(如 7.4、8.1、8.3)是独立服务,进程名带版本号(如 php-fpm-74),互不干扰。
- 安装时建议勾选常用扩展(如
opcache、fileinfo、redis),避免后续手动编译 - PHP 8.0+ 默认禁用
mysql_connect等旧函数,老项目切版本前先确认兼容性 - 版本间
php.ini路径不同,例如:/www/server/php/74/etc/php.ini、/www/server/php/81/etc/php.ini
怎么给单个网站绑定指定 PHP 版本
这是最常用也最稳妥的方式:在「网站」列表中找到目标站点 → 点击「设置」→「PHP 版本」下拉框选择对应版本(如 8.1)→ 保存。宝塔会自动修改该站点的 Nginx/Apache 配置,指向对应版本的 php-fpm socket 或端口。
- 切换后务必点击「重载配置」,否则 Nginx 不会生效
- 若站点报
502 Bad Gateway,大概率是对应版本的php-fpm服务没启动,去「软件管理」里检查并启动它 - 静态文件(如
.html)不受 PHP 版本影响;只有.php文件请求才会走绑定的版本
怎么让 CLI 命令行脚本使用指定 PHP 版本
Web 请求走的是 php-fpm,而终端执行 php xxx.php 走的是系统默认 php 命令——它通常链接到宝塔的主版本(如 /usr/bin/php → /www/server/php/80/bin/php)。要指定版本,得用完整路径: