PHP 8.5.6 更新日志
PHP 8.5.6 于 2026 年 5 月 7 日发布,是 PHP 8.5 分支的维护版本,包含 Core、CLI、Curl、DOM、FPM、Iconv、Lexbor、MBString、Opcache、OpenSSL、PDO_Firebird、PDO_PGSQL、Phar、Random、Session、SOAP、SPL、Sqlite3、Standard、Streams 和 URI 等修复。
- Core:修复 fibers、generators 和 destructors 组合下的 GC 断言、Windows+Clang 下 zend_ce_closure forward declaration 的 ZEND_API mismatch、ZEND_EXT_STMT op1 的 RC 处理、initialized lazy proxies 属性操作转发、Countable::count() 与 __unset 缺少 addref、error handler 抛出异常时 shutdown_executor 解析 callable 断言,以及 trait 类常量名与 enum case 冲突导致段错误。
- CLI、Curl、DOM、FPM:修复 --rf 命令行选项触发 Reflection 弃用警告,为 Windows Curl 增加 brotli 和 zstd 支持,修复 Dom\\XMLDocument::C14N() 在 setAttributeNS() 后输出重复 xmlns 声明的安全问题,以及 FPM status endpoint XSS。
- Iconv、Lexbor、MBString、Opcache、OpenSSL:修复 iconv bailout 泄漏、升级 lexbor 到 2.7.0、mb_ereg_search_init() 经 php_mb_check_encoding() 触发空指针、mbfl_name2encoding_ex() 越界访问、多个 JIT 断言/分支/优化回归,以及 OpenSSL pbkdf2 泄漏回归和边界场景泄漏/崩溃。
- PDO、Phar、Random、Session:修复 PDO_Firebird quoted strings 中 NUL byte 导致 SQL 注入、pdo_pgsql 空结果集 ATTR_PREFETCH=0 抛错、Phar is_link handler 恢复、Phar::webPhar() 缺少 SCRIPT_NAME 时空指针、Phar 多处泄漏和 flush 返回值传递、Xoshiro256StarStar 反序列化接受全零状态,以及 session GC callback 返回 refcounted value 时内存泄漏。
- SOAP、SPL、Sqlite3、Standard:修复 SOAP Apache Map stale pointer、SOAP_PERSISTENCE_SESSION 下 header 解析失败后的 UAF、Apache map value NULL 检查、RecursiveArrayIterator getChildren UAF、SplObjectStorage 并发迭代删除、Sqlite3 free list comparator pointer 类型,以及 char array offset 有符号整数溢出和 ctype unsigned char 传参安全问题。
- Streams 与 URI:修复设置代理时 file_get_contents 访问 https URL 段错误,以及 uriparser 1.0.1 前 text range comparison 中的 numeric truncation。





