PHP 开发团队于 2026 年 6 月 4 日正式推送了 PHP 8.5.7 版本。本次更新被定位为缺陷修复版本,官方建议所有正在使用 PHP 8.5 的用户尽快升级。虽然不包含新语言特性,但重点解决了几项棘手问题:URI 解析安全、Opcache/JIT 稳定性、DOM XPath,以及 OpenSSL 4.0 兼容性等方面。
先给出几个核心判断:本次修复的 CVE 安全漏洞与 JIT 崩溃问题,对生产环境尤其是高并发场景影响较大,值得认真对待。
两项 URI 解析安全问题得到修复
这次更新修复了两个与 URI 组件相关的安全漏洞:CVE-2026-44927 和 CVE-2026-44928。前者的问题在于,uriparser 1.0.2 之前的版本中,某些代码路径会将指针差值截断为整数,这可能导致实际行为与预期不符。后者更为直接——EqualsUri 函数族可能将两个明明不相同的 URI 错误地判定为相等。
如果你的应用中用到了 URI 比较、规范化或安全校验逻辑,那么这两个漏洞就值得高度关注。特别是那些将 URI 相等性判断用于缓存键、访问控制、重定向白名单或请求去重的业务场景,升级之后最好重新执行一遍相关测试,确保一切运转正常。
Opcache 与 JIT 稳定性继续改善
PHP 8.5.7 修复了 Opcache 相关的多个问题,包括 tracing JIT 在特定 VM 中断场景下崩溃、tracing JIT 段错误、zend_jit_trace.c 断言失败,以及 VM helper 处理中断时可能出现的 tailcall VM 崩溃。这类问题听起来很技术、很底层,但它们的共同点是:不常出现,一旦出现就直接导致 PHP 进程异常退出。
对于启用了 Opcache JIT 的高并发服务,建议先在预发布环境中严格验证 PHP 8.5.7,重点观察错误日志、进程重启次数以及核心转储情况。这一步做好了,才能放心上生产。
DOM、OpenSSL 与标准库同步修正
DOM 扩展方面修复了自定义 XPath 函数中一个释放后使用的安全性问题。OpenSSL 扩展则进行了与 OpenSSL 4.0 的兼容性调整,算是为以后升级系统加密库扫清了障碍。
标准库方面,version_compare() 修复了一个小 bug:版本字符串以点号结尾时,比较结果不正确。此外,CLI 的 getopt() 解决了可选参数在旧值场景下的异常问题,日期模块中一个整数溢出问题也得到了处理。
升级建议
PHP 8.5.7 属于同一稳定分支内的维护更新,官方明确建议所有 PHP 8.5 用户升级。如果你正在维护生产环境,升级前的回归测试要重点覆盖:URI 处理、自定义 XPath、命令行参数解析、版本号比较逻辑,以及那些用到了 JIT 的核心业务路径。
源代码和 Windows 二进制文件可以从 PHP 官网获取。完整修复列表可查阅 PHP 8.5.7 ChangeLog,正式发布公告见 PHP 8.5.7 Release Announcement。
