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

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

发布版本样本声明的 PHP 要求声明允许的补丁候选原始来源
2.0.55>=7.4.0repo.packagist.org ↗b900eecdb225

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

确认 PHP2Shell 修复范围

文件与软件包身份

yiisoft/yii2

  • composer.lock
  • protected/
  • config/web.php

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

先区分 Yii 1、Yii 2 与 Yii 3。yiisoft/yii2 样本只描述 Yii 2 的某个补丁,不代表所有 2.0 版本,更不代表 Yii 1。检查扩展、RBAC、ActiveRecord、widgets 和资源构建。跨框架世代需要修改应用,不能只改 Composer 约束。

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

  • Yii 1.x protected/
  • Yii 2.x yiisoft/yii2
  • Yii 3 yiisoft/*
  • ActiveRecord
  • RBAC
  • widgets
  • AssetBundle
  • behaviors()
官方升级文档 ↗

PHP2Shell 修复后的业务验收

修复 PHP2Shell 前的只读盘点

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

命令示例
php -v
php --ini
composer --no-plugins show --locked yiisoft/yii2
composer --no-plugins check-platform-reqs --lock
composer --no-plugins prohibits php 8.3.36 --locked

Yii - 核实 PHP2Shell 修复

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

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

官方升级文档

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

相关系统

← 返回应用升级资料库