发布于2026-07-26 阅读(0)
扫一扫,手机访问
8.5.4 版本更新说明(2026 年 3 月 12 日)
8.5.4 作为 8.5 系列的一次稳定性修复版本,重点对核心引擎、扩展模块以及跨平台兼容性问题做了针对性处理,同时提升了运行时的稳定性与安全性。简单来说,如果你在生产环境中遇到了某些奇怪的内存问题或者段错误,这个版本很可能就是你要找的答案。
这次 Zend 引擎的修复清单比较长,但每一条都挺实在。下面逐个来梳理:
修复了 Aarch64 架构下启用 LTO(链接时优化)时可能触发的内存堆损坏问题(GH-21029)。这个坑对 ARM 服务器用户来说值得关注,尤其是用 LTO 做生产部署的团队。
修复了预加载常量 AST 闭包时可能引发的段错误(Segfault)(GH-21059)。如果你在用 opcache.preload 做预加载,这个修复能避免某些场景下的进程挂掉。
修复了在常量表达式中使用 (unset) 类型转换导致程序崩溃的问题(GH-21072)。这算是一个边界情况,但碰上了就是硬伤。
优化了 JIT 场景下访问数组中 null 键时的弃用提示,现在会正确显示警告信息,而不是静默吞掉或报错。
与惰性对象(Lazy Object)相关的多个断言失败问题也得到了修复,这类问题在新版 PHP 的反射和袋里模式中偶有出现:
zend_lazy_object_get_info 在特定方法调用下的异常(GH-20657)
zend_get_property_guard 在 Reflection LazyProxy 场景下的错误(GH-20504)
修复了未类型化属性在执行自增、自减或赋值运算时的异常行为(OSS-Fuzz #478009707)。这个 bug 是 fuzz 测试发现的,还挺隐蔽。
构建系统方面也有两个修复:
使用 -std= 编译参数时构建失败(GH-21215)
使用 slibtool 时错误安装 libtool 包装器(GH-13674)
修复了请求长度被错误截断的问题,确保数据传输完整性。这个修复对大规模文件上传或下载场景比较关键,避免数据丢失。
修复了 DatePeriod::__set_state() 无法正确处理 null 起始时间的问题(GH-20936)。如果你用 var_export 或序列化处理 DatePeriod,这个修复能避免意外的错误。
修复了时区偏移包含秒时出现精度丢失的问题,提高时间计算准确性。对某些跨时区的时间处理场景,这个修复能保证结果更精确。
修复了访问 DomNode::baseURI 时可能抛出 TypeError 的问题(GH-21077)。这个修复让 DOM 操作更健壮,尤其是在处理外部文档时。
修复了访问 DOM 节点属性时可能出现类型错误的问题(GH-21097)。
修复了 ldap_modify() 参数校验过于严格的问题,该问题导致无法正确删除属性(GH-21262)。如果你在用 LDAP 做属性清理,这个修复就是刚需。
修复了 mb_guess_encoding 在处理超大候选编码列表(超过 20 万项)时崩溃的问题(GH-21223),提升大规模文本处理的稳定性。这个场景虽然不常见,但一旦触发就是崩溃,所以修复很及时。
修复了在 Solaris 系统上启用 JIT 时出现“共享内存不足”的错误(GH-20718)。如果你在 Solaris 上跑 PHP,这个修复能让你安心开启 JIT。
修复了包含部分对象的数组在 SCCP(稀疏条件常量传播)优化中的异常行为(GH-21227)。这个优化问题可能导致运行时行为不符合预期,修复后更稳妥。
修复了多处内存泄漏问题,并改进错误传播机制,增强安全性与稳定性。对任何使用 HTTPS 或加密通信的场景,这都是一次底层的安全加固。
修复了在 Windows 环境下使用 clang 编译失败的问题(缺少 intrin.h 头文件)。这对 Windows 上的开发者,特别是用 Clang 替代 MSVC 的朋友来说,省去了不少折腾。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9