php 8.4.13 更新日志
原文地址:PHP: PHP 8 ChangeLog
2025年9月25日
核心模块:
- 修复GH-18850问题(重复包含
__halt_compiler()
的文件时触发"常量已定义"警告) - 部分修复GH-19542问题(扫描≥2GB的字符串字面量时因有符号整数溢出失败)
- 修复GH-19544问题(垃圾回收机制将
ZEND_WEAKREF_TAG_MAP
引用误认为WeakMap引用) - 修复GH-19613问题(数组迭代器指针过时)
- 修复GH-19679问题(
zend_ssa_range_widening
可能无法收敛) - 修复GH-19681问题(PHP_EXPAND_PATH在bash 5.3.0下失效)
- 修复GH-19720问题(访问已弃用常量时错误处理器抛出异常导致断言失败)
CLI:
- 修复GH-19461问题(IPv6地址监听错误时改进错误提示)
日期:
- 修复
date_sunrise()
和date_sunset()
在UTC偏移含非整小时时的计算错误
DBA:
- 修复GH-19706问题(dba流资源管理异常)
DOM:
- 修复GH-19612问题(缓解libxml2树字典缺陷)
FPM:
- 修复
php_admin_value
设置失败时的调试断言错误
国际化:
- 修复GH-11952问题(修正
IntlDateFormatter
和NumberFormatter
的地区字符串规范化)
Opcache:
- 修复GH-19493问题(JIT变量在YIELD前未存储)
OpenSSL:
- 修复GH-19245问题(TLS流接受失败时返回成功错误信息)
PGSQL:
- 修复GH-19485问题(使用持久化pgsql连接时可能出现的释放后使用问题)
Phar:
- 修复OpenSSL签名验证时的内存泄漏
- 修复phar tar临时文件错误处理中的内存泄漏
- 修复phar转换逻辑失败时的元数据泄漏
- 修复
phar_convert_to_other()
失败时的内存泄漏 - 修复GH-19752问题(解压带无效扩展名的phar文件可能导致UAF)
标准库:
- 修复GH-16649问题(
array_splice
执行期间的UAF) - 修复GH-19577问题(避免
LimitIterator
使用小偏移量+PHP_INT_MAX时的整数溢出)
流:
- 移除
user_wrapper_metadata()
中错误的zval_ptr_dtor()
调用 - 修复OSS-Fuzz #385993744漏洞
Zip:
- 修复了zip在遇到空glob结果时的内存泄漏
术语说明:
- UAF: Use-After-Free(释放后使用漏洞)
- JIT: Just-In-Time(即时编译)
- GC: Garbage Collection(垃圾回收)
- SSA: Static Single Assignment(静态单赋值形式,编译器优化技术)