PHP 8.1.20 更新日志
PHP 8.1.20 发布于 2023 年 6 月 8 日,是 PHP 8.1 分支的正式维护版本,主要修复核心运行时、FPM、OPcache、SOAP、SPL、标准库和 Streams 相关问题。
- Core:修复条件跳转依赖未初始化值、zend_hash_do_resize 超出内存限制后数组状态异常,以及 foreach by-reference 在 rehash 时可能跳过键的问题。
- Date 与 Exif:修复 DateTimeZone::getName() offset 中不包含秒,以及 exif_read_data() 无法读取较小 stream wrapper chunk size 的问题。
- FPM:修复 child->ev_stdout/ev_stderr 释放后使用导致 PHP-FPM 段错误、FPM 状态页 query_string JSON 编码不正确,以及无效主脚本文件句柄内存泄漏。
- Hash、LibXML 与 OPcache:修复 hash_file() 参数限制、libxml 2.11.0 构建测试失败、match default branch 优化错误、OR/AND 范围推断过宽,以及特定 SWITCH default 场景段错误。
- PGSQL 与 Phar:修复 pg_lo_export() 参数解析,以及交叉编译时生成 phar.php 的问题。
- Soap:修复 SOAP HTTP Digest 认证中错误检查缺失和随机字节不足的问题(CVE-2023-3247),以及 soap 扩展构建测试失败。
- SPL 与 Standard:修复 spl_array_it_get_current_data 段错误、move_uploaded_file() 对源文件触发 open_basedir 警告,以及 POST/PATCH 请求在 HTTP 308 重定向后切换为 GET 的问题。
- Streams:修复 HTTP 最后一块数据的 STREAM_NOTIFY_PROGRESS 通知不规律、stream socket timeout,以及向 stream_socket_accept/stream_socket_client 传入 timeout=-1 时触发 UndefinedBehaviorSanitizer 的问题。
