PHP 8.2.0 更新日志
PHP 8.2.0 发布于 2022 年 12 月 8 日,是 PHP 8.2 分支的首个正式版本,包含语言特性、核心运行时、扩展能力和大量缺陷修复。
- 语言与核心:新增 trait 中定义常量支持、error_log_mode ini 设置,改进类型错误信息、常量表达式、readonly 类与 trait、交集类型、动态属性提示、Generator/Fiber 稳定性,并减少多类字符串返回值的内存占用。
- CLI、FPM 与 Web Server:修复内置服务器请求方法日志、静态资源 HEAD/DELETE/PUT/PATCH 响应、PHP_CLI_SERVER_WORKERS 潜在溢出、-w/-s 空指针问题,并为 FPM 增加 macOS listen queue、FreeBSD route FIB、access log 过滤等能力。
- Curl、OpenSSL 与 Date:新增 CURLOPT_XFERINFOFUNCTION、CURLOPT_MAXFILESIZE_LARGE、curl_upkeep()、openssl_cipher_key_length(),并修复 DateInterval、DatePeriod、DateTime::diff、DateTime 序列化和 OpenSSL 构建/证书相关问题。
- Random 与 Reflection:新增 Random 扩展,修复线程安全、用户引擎异常、整数溢出、Randomizer 行为一致性等问题;Reflection 新增 ReflectionFunction::isAnonymous() 和 ReflectionMethod::hasPrototype() 等能力。
- GD、Hash、Intl、MBString、MySQLnd、ODBC、OPcache:修复 imageloadfont() 越界读取(CVE-2022-31630)、hash_update() 长参数缓冲区溢出(CVE-2022-37454)、Intl 构建与序列化、mb_strimwidth 段错误、MySQLnd 潜在堆破坏、ODBC 连接字符串和 liveness 检查,以及 JIT/OPcache 多项崩溃问题。
- PDO、Session、SOAP、SPL、Standard、Streams:修复 PDO 运行时缓存、Session 自定义处理器和 cookie 过期格式、SOAP 响应序列化空指针、SPL 堆增长溢出、getimagesize AVIF 支持、memory_reset_peak_usage()、ini_parse_quantity()、stream wrapper 内存泄漏和跨文件系统复制等问题。
- Sockets、XML、Zip 与 Windows:新增多项 socket 选项和 FreeBSD/NetBSD ancillary data 支持,新增 libxml_get_external_entity_loader(),ZipArchive 新增 clearError()、getStreamName()、getStreamIndex(),并加入 Windows ARM64 交叉构建初步支持。
