最后更新: 2026-10-22 (UTC)

PHP 漏洞:PHP 8.2 升级到 8.4PHP vulnerability · PHP2Shell · CVE-2026-109618 / CVE-2026-109619 · PHP RCE · PHP security update

PHP 漏洞 PHP2Shell(CVE-2026-109618 / CVE-2026-109619)需要更新网站使用的 PHP。核对软件源、完整包版本和服务进程,再应用 PHP security update,处理 PHP RCE 风险(php vulnerability)。

PHP2Shell · CVE-2026-109618 / CVE-2026-109619

PHP 漏洞 修复与跨版本迁移

先确认当前厂商是否提供 PHP2Shell 回补,再测试从 PHP 8.2 到 8.4 的迁移。回补补丁不会恢复 EOL 分支的上游支持。未经应用和扩展测试,不要直接切换生产环境的大版本或小版本分支。

PHP 8.3 的兼容性变更

以下摘录来自 PHP 官方迁移指南;请继续阅读原文,检查扩展相关变更。

  • 变更内容

    range() 对无效边界类型和步长的校验更严格。

    检查代码中的这些用法

    检查使用对象、数组、零步长或负步长的 range() 调用。

    阅读 PHP 8.3 官方迁移说明 ↗
  • 变更内容

    number_format() 的 decimals 为负数时,在小数点前进行舍入。

    检查代码中的这些用法

    检查 number_format() 的负 decimals 参数。

    阅读 PHP 8.3 官方迁移说明 ↗
  • 变更内容

    日期处理使用更具体的异常与错误类型。

    检查代码中的这些用法

    检查 DateTime 构造及异常处理代码。

    阅读 PHP 8.3 官方迁移说明 ↗

PHP 8.4 的兼容性变更

以下摘录来自 PHP 官方迁移指南;请继续阅读原文,检查扩展相关变更。

  • 变更内容

    exit() 和 die() 使用普通类型转换规则,无效输入可能抛出 TypeError。

    检查代码中的这些用法

    检查传入非字符串、非整数值的调用。

    阅读 PHP 8.4 官方迁移说明 ↗
  • 变更内容

    PHP_DEBUG 和 PHP_ZTS 常量变为布尔值。

    检查代码中的这些用法

    检查这些常量与整数的严格比较。

    阅读 PHP 8.4 官方迁移说明 ↗
  • 变更内容

    round() 遇到无效舍入模式时抛出 ValueError。

    检查代码中的这些用法

    检查自定义或动态选择的舍入模式。

    阅读 PHP 8.4 官方迁移说明 ↗

切换 PHP 前的准备

  • 备份文件、配置和数据,并验证恢复方法。
  • 在测试环境使用目标 PHP 和与生产相同的扩展。
  • 核对依赖约束及应用、插件、主题兼容性。
  • 测试登录、上传、邮件、定时任务、队列及失败处理。
  • 确认目标包包含 PHP 漏洞 修复,且目标分支仍受支持。

PHP 漏洞:选择平台升级步骤

PHP 漏洞 升级后的回滚与恢复

保留明确的软件包或镜像引用及已验证的恢复流程。迁移失败时一致地恢复配置和数据。恢复到有漏洞的运行时会重新引入风险,重新开放网站前要核对厂商公告。

PHP 漏洞 更新后的检查

测试关键请求、登录、上传、日志、定时任务和后台 worker。重启所有处理网站请求的 PHP 进程,并核对每个站点的运行版本。保存软件源和完整修订号记录;EOL 分支还需安排迁移。

版本检查器 →

来源与核对记录

核对时间: 2026-10-22 03:29:51 UTC