服务器面板

宝塔(aaPanel)与 1Panel 如何修复 PHP2Shell

两款面板都自带 PHP 构建,其中包括 PHP 官方没有发布的 7.4、8.0、8.1 修复版。只升级面板本身,并不会更新网站实际使用的 PHP。

最后核实 2026-10-23

升级面板 ≠ 升级 PHP

通过面板安装的每个 PHP 版本都需要单独更新并重启。请逐一检查每个网站或项目实际使用的版本。

各分支的已修复 PHP 构建

以下为厂商公布的首个修复构建。核实日期:2026-10-22。

PHP 分支宝塔 / aaPanel1Panel类型
8.58.5.128.5.12PHP 官方发布版本
8.48.4.278.4.27PHP 官方发布版本
8.38.3.368.3.36PHP 官方发布版本
8.28.2.358.2.35PHP 官方发布版本
8.18.1.358.1.35面板回移构建(非 PHP 官方发布)
8.08.0.318.0.31面板回移构建(非 PHP 官方发布)
7.47.4.347.4.34面板回移构建(非 PHP 官方发布)
7.37.3.34未提供仅宝塔提供,需脚本安装
7.27.2.35未提供仅宝塔提供,需脚本安装
7.17.1.34未提供仅宝塔提供,需脚本安装
7.07.0.34未提供仅宝塔提供,需脚本安装

回移构建的 php -v 可能仍显示上游版本号(例如 1Panel 的 8.1.35 内含 PHP 8.1.34),请以面板中显示的构建为准。来源:宝塔安全防护指南、1Panel 应用商店提交记录。PHP 5.x:两款面板均未列出修复,请隔离相关网站并尽快迁移。

宝塔 / aaPanel

  1. 备份网站、数据库和配置。
  2. 打开 软件商店 → 已安装,点击右上角 更新软件列表。
  3. 把每个网站在用的 PHP 版本更新到上表中的构建。无需先升级面板。
  4. 重启每个已更新的 PHP 服务,然后确认版本并检查网站是否正常。
  5. PHP 7.0–7.3 暂时无法在软件商店更新。宝塔提供了补丁脚本,请先备份,并在测试环境验证后再用于生产。
shell
# Every PHP version installed by 宝塔 / aaPanel
for p in /www/server/php/*/bin/php; do echo -n "$p: "; $p -r 'echo PHP_VERSION, PHP_EOL;'; done

# Restart the FPM service of each updated version (example: PHP 7.4)
/etc/init.d/php-fpm-74 restart

# PHP 7.0–7.3 only: 宝塔's patch script (back up first; use 71, 72 or 73 for other branches)
curl -fL -o php7_cve.sh https://download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 70

据宝塔说明,面板的一键加固(安全中心,面板 13.1 及以上)只能降低部分攻击路径的风险,不能完整修复这两个漏洞。Nginx 防火墙 9.9.0 新增了针对两个 CVE 的拦截规则,但仅限付费版,只能与补丁配合使用,不能替代补丁。

国际版 aaPanel 发布了安全公告,操作步骤与上面相同,列出了 8.1.35 和 7.4.34;发布该公告时其 8.0 构建仍在测试中。请以你服务器上软件商店实际提供的构建为准,并核对版本。

1Panel

  1. 先备份,最好在业务低峰期操作。
  2. 打开 应用商店,点击 更新远程应用。
  3. 在每个 PHP 运行环境中选择已修复的版本。7.4、8.0、8.1 的修复构建标注为 “1Panel patched”。如果看不到,切换应用旁边的大版本选项后重新打开列表。
  4. 保存,然后重启使用该运行环境的项目,并核对版本。
shell
# 1Panel PHP runtimes are containers: list them with their image tags
docker ps --format '{{.Names}}\t{{.Image}}' | grep -i php

# PHP version inside a runtime container
docker exec <container> php -v

1Panel 的 PHP 运行环境是容器(1panel/php:<版本>)。只升级 1Panel 面板,不会改变已有项目的运行环境镜像。

常见问题

宝塔的 PHP 7.4 / 8.0 / 8.1 修复版是 PHP 官方发布的吗?+

不是。PHP 官方只发布了 8.2–8.5。宝塔和 1Panel 的 7.4、8.0、8.1 包是基于 PHP 安全团队的源码回移补丁自行构建的。它们修复了这两个 CVE,但这些分支仍已停止维护,请尽快规划迁移到 8.4 或 8.5。

宝塔防火墙或一键加固能代替升级吗?+

不能。宝塔自己也说明一键加固只能降低部分攻击路径的风险,防火墙规则只能拦截已知的请求特征。请升级 PHP 并重启工作进程。

我升级了 1Panel,网站为什么还在用旧 PHP?+

每个网站的运行环境是独立的容器镜像。请在运行环境设置中选择已修复的版本,保存并重启项目。

相关页面