PHP 8.4.15 更新日志
PHP 8.4.15 于 2025 年 11 月 20 日发布,是 PHP 8.4 分支的维护版本,包含 Core、DOM、Exif、FPM、FTP、GD、Intl、LibXML、MySQLnd、Opcache、PgSql、Phar、Random、Reflection、SimpleXML、Streams、Tidy、XMLReader 和 Windows 等修复。
- Core:修复 CGI 配合 auto_globals_jit=0 导致未定义越界读取、WeakMap offset 引用操作断言、lazy object get_properties 异常结合 foreach 的断言、关闭资源阶段 bail、get_object_vars() 访问覆盖私有属性断言、parent hook 命名参数调用异常,以及 eval 导致过期 EG(opline_before_exception) 指针。
- DOM、SimpleXML、Exif:部分修复 DOM 和 SimpleXML 的 __debugInfo() 覆盖无法生效,修复 Dom\\Document::getElementById() 在节点移除后一致性问题,以及 Exif 空 tag 内存泄漏。
- FPM、FTP、GD、Intl、LibXML:修复并行执行时 fpm_status_export_to_zval 段错误、FTP SSL 写入成功却超时、imagefilter 无效 filter 返回类型违规、locale_filter_matches() 错误路径内存泄漏,以及 schema/relaxng 调用线程安全问题。
- MySQLnd 与 Opcache:修复 SSL 证书验证端口重复、MySQL JSON column getColumnMeta()、preload_load() 访问未初始化变量、macOS 15 ZTS build 下 JIT 损坏、大文件子进程编译 JIT 段错误、JIT 堆缓冲区溢出,以及 file cache 跨不同环境复用时可能调用错误函数。
- PgSql 与 Phar:修复字符串转换失败泄漏、fetch row 到不可实例化类名段错误、webPhar/setAlias/ZIP 解析/central fp/temp stream/OpenSSL polyfill/phar_zip_flush/gzip archive 等多处泄漏,并修复释放 phar alias 可能使 PharFileInfo 对象失效。
- Random、Reflection、Streams:修复 Randomizer::__serialize() 对 INDIRECTs 的处理、ReflectionClass::isIterable() 对带 property hooks 类返回值错误,以及 Windows socket stream 条件不正确。
- Tidy、XMLReader、Windows:修复 tidyOptGetCategory 检测、tidySetErrorBuffer() 失败释放后使用、LIBXML_SCHEMAS_ENABLED 不可用时 arginfo/zpp 违规,以及 Windows socket 传给 _get_osfhandle 的 debug 断言。
