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。