Hyperf 网站修复 PHP2Shell,需要修补实际运行的 PHP 解释器。应用版本用于识别兼容障碍,不能单独证明网站可被利用,也不能证明两个 CVE 已修复。

Hyperf - 修复 PHP2Shell 要核对哪些 PHP 兼容版本

发布版本样本声明的 PHP 要求声明允许的补丁候选原始来源
v2.2.33>=7.2repo.packagist.org ↗49e98fb74721
v3.0.45>=8.0repo.packagist.org ↗7ea476d31ffc
v3.1.63>=8.1repo.packagist.org ↗c2a980881d77

候选仅将该声明与受支持分支的首个 PHP2Shell 修复版本比对,不代表已经通过兼容测试、仍有厂商支持或全部依赖均匹配。 修复 PHP2Shell 要核对哪些 PHP 兼容版本 ↗

确认 PHP2Shell 修复范围

文件与软件包身份

hyperf/framework

  • composer.lock
  • bin/hyperf.php
  • config/autoload/

Hyperf - 排除 PHP2Shell 修复中的兼容障碍

Hyperf 使用长驻进程,常依赖 Swoole 或 OpenSwoole。先对齐 hyperf/*、协程客户端和扩展 ABI。只重启反向代理会留下旧应用进程。应测试连接池恢复、队列消费者和定时任务,再按项目的平滑发布流程替换全部工作进程。

需要排查的依赖与二次开发

  • Swoole / OpenSwoole ABI
  • hyperf/*
  • Coroutine
  • Pool
  • DI
  • bin/hyperf.php
官方升级文档 ↗

PHP2Shell 修复后的业务验收

修复 PHP2Shell 前的只读盘点

在授权的工作副本中操作。

命令示例
php -v
php --ini
composer --no-plugins show --locked hyperf/framework
composer --no-plugins check-platform-reqs --lock
composer --no-plugins prohibits php 8.3.36 --locked
php --ri swoole
php --ri openswoole

Hyperf - 核实 PHP2Shell 修复

在真正承载本站请求的 PHP 中核实两个 CVE 的补丁。替换或重启旧 Web 工作进程、队列进程和全部副本。首页能打开或 CLI 版本变新,都不足以证明修复完成。

3. 重启并验证所有实例 ↗

官方升级文档

Hyperf原始来源 ↗PHP security team原始来源 ↗CVE-2026-109618原始来源 ↗CVE-2026-109619原始来源 ↗修复 PHP2Shell 时的 PHP 升级报错排查↗

相关系统

← 返回应用升级资料库