PHP 8.4.7 现已发布,这是一个错误修复版本。具体更新内容包括:
- Core:
- 修复错误GH-18038(惰性代理调用 magic methods 两次)。
- 修复了错误GH-18209(使用 EXTR_REFS 时 extract() 中的 Use-after-free)。
- 修复了错误GH-18268(在添加属性 hooks 的对象上的 array_walk() 中出现 Segfault)。
- 修复了错误GH-18304(通过动态属性更改 DateInterval 的属性会触发 SegFault)。
- 修复 php_scandir 中的一些泄漏。
- DBA:
- 修复了错误GH-18247 无效路径上的 dba_popen() 内存泄漏。
- Filter:
- 修复错误GH-18309(ipv6 过滤器整数溢出)。
- GD:
- 修复了 gdImageCrop() 中 rect 参数使用 x/width y/heigh 导致的 imagecrop() 溢出问题。
- 修复了GH-18243 imagettftext() 字体大小值溢出/下溢。
- Intl:
- 修复对 intltz_get_offset() 的 reference 支持。
- LDAP:
- 修复错误GH-17776(LDAP_OPT_X_TLS_* 选项无法被覆盖)。
- 修复 high modification key 上的 NULL deref。
- libxml:
- 修复了自定义外部实体加载器返回无效资源导致混乱的 TypeError 消息的问题。
- Opcache:
- 修复了错误GH-18294(断言失败 zend_jit_ir.c)。
- 修复了错误GH-18289(修复 JIT 中的 segfault)。
- 修复了错误GH-18136(跟踪 Windows 和 ARM64 上的 JIT floating point register clobbering)。
- OpenSSL:
- 传递无效算法时修复 openssl_sign() 中的内存泄漏。
- 修复写入 BIO 失败时的潜在泄漏。
- PDO Firebird:
- 修复了错误GH-17383(自 PHP 8.4 起 PDOException 的代码和信息有误)
- PgSql:
- 修复 pg_put_copy_end() 中的 uouv。
- SPL:
- 修复错误GH-18322(SplObjectStorage 调试处理程序内存管理不善)。
- Standard:
- 修复错误GH-18145(php8ts 在 php_clear_stat_cache() 中崩溃)。
- 修复 iptcembed() 出错时的资源泄漏。
- Tests:
- 解决已弃用的 PHP 8.4 会话选项以防止测试失败。
- Zip:
- 修复在 ZipArchive::addGlob() 中处理空选项时的 uouv 问题。
- 修复在 ZipArchive::addGlob() 中处理过长路径时出现内存泄漏的问题。
更多详情可查看:https://www.php.net/ChangeLog-8.php#8.4.7