PHP 8.3.7 现已发布,这是一个错误修复版本。具体更新内容包括:
- Core:
- 修复了错误GH-13772(启用 JIT 时 observer fcall handlers 中的execute_data->opline 指针无效)。
- 修复了错误GH-13931(将 zero offset 应用于 Zend/zend_opcode.c 中的空指针)。
- 修复了错误GH-13942(将 zend-max-execution-timers 的行为与其他超时实现保持一致)。
- 修复了错误GH-14003(使用可调用转换参数对未完成的调用进行了 Broken cleanup)。
- 修复了错误GH-14013(在 configure 中 附加了错误的 dnl)。
- 修复了错误GH-10232(如果自动加载发生在常量解析过程中,文件名和 lineno 会被错误识别)。
- 修复了错误GH-13727(缺少 void 关键字)。
- Fibers:
- 修复了错误GH-13903(执行 copy() 时出现 ASAN false positive underflow)。
- Fileinfo:
- 修复了错误GH-13795(在 big-endian PPC 上测试 ext/fileinfo/tests/bug78987.phpt 失败)。
- FPM:
- 修复了错误GH-13563(通过 FPM 配置中的 env 设置 bool 值失败)。
- Intl:
- 修复了 icu 74 及以上版本的构建。
- MySQLnd:
- 修复 32-bit non-fast-path platforms 上的移位越界问题。
- Opcache:
- 修复了错误GH-13433(使用 opcache.preload 时 zend_class_init_statics 中的 Segmentation Fault)。
- 修复了静态调用跨编译单元的错误假设。
- OpenSSL:
- 修复了错误GH-10495(OpenSSL stream 上的 feof 无限期挂起)。
- PDO SQLite:
- 修复GH-13984(现在在 memcmp 之前检查缓冲区大小)。
- 修复GH-13998(正确管理 agg_context->val 的 refcount)。
- Phar:
- 修复了错误GH-13836(将 Phar 中的文件重命名为已存在的文件名会导致 NULL 指针取消引用)。
- 修复了错误GH-13833(将 zero offset 应用于 zend_hash.c 中的空指针)。
- 在调用 EVP_SignInit 之前修复潜在的 NULL 指针取消引用。
- PHPDBG:
- 修复了错误 GH-13827(phpdbg_frame 中类型“zval”的空指针访问)。
- Posix:
- 修复 ext/posix 中可重入函数的使用。
- Session:
- 修复了错误 GH-13856(ext/session/mod_files.c 中“ps_files”类型的空指针内的 Member access)。
- 修复了错误 GH-13891(在 session.trans_sid_hosts 中使用 ini_set 时的 memleak 和 segfault)。
- 修复了 Windows 上文件模式的缓冲区 _read/_write 大小限制。
- Streams:
- 修复了 Windows 上的 file_get_contents() 失败并显示“errno=22 Invalid argument”的错误。
- 修复了错误 GH-13264(Part 1 - stream filter failure 时内存泄漏)。
- 修复了错误 GH-13860(ext/openssl/xp_ssl.c 中的 PHP_STREAM_OPTION_CHECK_LIVENESS 情况不正确 - 导致使用 dead socket)。
- 修复了错误 GH-11678(在 musl 1.2.4 - lfs64 上 Build 失败)。
- Treewide:
- 修复 gcc-14 Wcalloc-transpose-args 警告。
更多详情可查看 ChangeLog。