PHP 8.4.6 更新日志
PHP 8.4.6 于 2025 年 4 月 10 日发布,是 PHP 8.4 分支的维护版本,包含 BCMath、Core、DBA、DOM、Fuzzer、GD、LDAP、Mbstring、Opcache、PDO、Standard、SOAP、SPL、Treewide 和 Windows 等修复。
- BCMath:修复 scale 的指针减法计算问题。
- Core:修复多级继承中属性钩子 backing value 访问、覆盖 virtual properties 意外继承默认值、子类新增 property hooks 破坏 JIT 多态、魔术 __call 创建闭包的 ReflectionFunction::isDeprecated() 结果错误、lazy objects 与 hooks 的 stack-use-after-return、get_object_vars() 处理无 get hook 的 hooked props、lazy proxy set hook 递归、dl() 模块类销毁释放后使用、带别名类模块关闭崩溃,以及 foreach 性能退化。
- DBA、DOM、Fuzzer:修复多次打开同一 DBA 文件断言、DOM attr 写入断言、DOM unpack 行为、SVG 属性和标签名大小写,以及 fuzzer SAPI 错误路径内存泄漏。
- GD、LDAP、Mbstring:修复带引用数组参数调用、ldap_mod_replace 错误信息混乱,以及 unset http_output_conv_mimetypes 时 mb_output_handler 崩溃。
- Opcache:修复 simple get hook cache slot/minimal JIT 段错误、Symfony JIT 断言、zend_execute 段错误、IN_ARRAY DFA 优化、SCCP stack-buffer-overflow、preloading/INI option 空访问,以及 try-finally 下 CFG jump 优化破坏异常表。
- PDO、Standard、SOAP:修复销毁 PDORow 内存泄漏、array_any()/array_all() 泄漏,以及 SOAP typemap 破坏 parse_packet_soap 导致段错误。
- SPL、Treewide、Windows:修复 ArrayObject offsetGet 返回 RC1 数据导致释放后使用、zend_reference_destroy() 断言,以及 Windows 行尾导致 zend_vm_gen.php 异常。





