PHP 8.1.0 更新日志
PHP 8.1.0 发布于 2021 年 11 月 25 日,是 PHP 8.1 分支的首个正式版本,包含语言特性、运行时、扩展和安全修复的大量更新。
- Core:完善 Fiber、Enum、WeakMap、Observer、Closure、match、__sleep、trait 兼容性和构建相关行为,并修复 default_mimetype/default_charset 头注入等问题。
- Date:修复 DateInterval、DateTime diff、DST、时区转换、2038 之后时间和多时区差异计算等大量日期时间问题。
- FPM:修复 FPM zlog 潜在堆溢出和 root 进程越界读写导致权限提升的问题(CVE-2021-21703),新增 OpenMetrics 状态格式、macOS 进程重命名和 pm.max_spawn_rate 配置。
- 扩展对象化:FTP、LDAP、PgSQL、PSpell 等多个旧资源类型转换为对象,GD font 也转换为 GdFont 对象。
- GD、hash、Sodium、SNMP:新增 AVIF 支持、MurmurHash V3、xxHash、XChaCha20、Ristretto255,以及 SHA256/SHA512 安全协议支持。
- Opcache/JIT:修复 JIT 错误结果、内存泄漏、CFG 构建无限循环、预加载断言、phpize 构建和 header 安装问题,并新增 inheritance cache。
- 数据库扩展:修复 MySQLi、MySQLnd、PDO、PDO MySQL、PDO PgSQL、PDO SQLite、PgSQL 等模块的内存、类型转换、资源对象化和错误信息问题。
- Reflection 与 SPL:修复 ReflectionEnum、ReflectionAttribute、trait alias、Closure 静态判断、SplFixedArray、SplFileObject、LimitIterator 等问题,并新增 ReflectionFunctionAbstract::getClosureUsedVariables。
- XML 与 Zip:修复 XML 路径中特殊字符问题(CVE-2021-21707)、XML_OPTION_SKIP_WHITE 空白处理,以及 ZipArchive 内存泄漏、目录解压错误、越界解压(CVE-2021-21706)和 setPassword 使用问题。
