PHP 8.2.18 更新日志
PHP 8.2.18 发布于 2024 年 4 月 11 日,是 PHP 8.2 分支的正式维护版本,主要修复核心运行时、DOM、MySQLnd、OPcache、Random、SPL、Standard 和 XML 相关问题。
- Core:修复 weak references 析构中内存损坏、AX_GCC_FUNC_ATTRIBUTE failure,以及析构中创建大量对象时 GC 扩展性不佳的问题。
- DOM、FPM、GD、Gettext:补充 DOM ZPP 检查、修复 XPath evaluation results 潜在内存泄漏、DOMDocument load 方法 phpdoc、fpm_shm_free() 检查、GD feature tests GDLIB_CFLAGS,以及 gettext 0.22.5 下 LC_ALL 调用 dcgettext/dcngettext 触发 sigabrt 的问题。
- MySQLnd、OPcache、PDO:修复 MySQLnd handshake response、check_mb_eucjpms charset 长度、JITed QM_ASSIGN 在 op1 为 null 时可能被优化掉、启用 observer 且加载 opcache 时调用内部 trait 方法段错误,以及多个 PDORow 问题。
- Random、Session、Sockets、SPL:修复 mt_srand unknown modes 兼容性、MT_RAND_PHP 下全局 Mt19937 请求间未正确重置、session_decode 段错误、socket_getsockname 名称尾部随机字符、SplFixedArray 反序列化后无法 resize,以及 zend_string.h 中意外 null pointer。
- Standard:修复 mail() additional_headers 中换行验证、Windows 上大于 4GB 字符串 file_put_contents 失败、proc_open 类数组 command 参数命令注入(CVE-2024-1874)、__Host-/__Secure- Cookie 绕过(CVE-2024-2756),以及 password_verify 可能错误返回 true 带来的账户接管风险(CVE-2024-3096)。
- XML:修复使用 --with-expat 构建时多个测试失败的问题。





