专业的编程技术博客社区

网站首页 > 博客文章 正文

PHP 8.3.7 发布:专注于错误修复和性能优化

baijin 2024-09-07 12:09:33 博客文章 16 ℃ 0 评论

PHP 8.3.7 版本现已正式发布,本次更新主要聚焦于错误修复和性能优化。以下是本次更新的主要内容概述:

核心修复

  • GH-13772:解决了启用 JIT 时,observer fcall handlers 中 execute_data->opline 指针无效的问题。
  • GH-13931:修正了 Zend/zend_opcode.c 中对空指针使用 zero offset 的问题。
  • GH-13942:将 zend-max-execution-timers 的行为与其他超时实现保持一致。
  • GH-14003:修复了因可调用转换参数导致的未完成调用清理问题。
  • GH-14013:在 configure 脚本中修复了附加的错误 dnl。
  • GH-10232:修复了自动加载发生在常量解析过程中时,文件名和行号被错误识别的问题。
  • GH-13727:修正了缺少 void 关键字的代码问题。

Fibers 改进

  • GH-13903:解决了执行 copy() 时出现的 ASAN 假阳性下溢问题。

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 平台上移位越界的问题。

Opcache 优化

  • GH-13433:修复了使用 opcache.preload 时 zend_class_init_statics 中的 Segmentation Fault。
  • 修正了静态调用跨编译单元的错误假设。

OpenSSL 安全修复

  • GH-10495:解决了 OpenSSL stream 上 feof 无限期挂起的问题。

PDO SQLite 改进

  • 修复了在进行 memcmp 之前未检查缓冲区大小的问题(GH-13984)。
  • 改进了对 agg_context->val 的引用计数管理(GH-13998)。

Phar 稳定性提升

  • GH-13836:解决了在 Phar 中重命名文件至已存在文件名导致的 NULL 指针取消引用问题。
  • 修正了 zend_hash.c 中对空指针使用 zero offset 的问题(GH-13833)。
  • 在调用 EVP_SignInit 之前,修复了潜在的 NULL 指针取消引用。

PHPDBG 调试器增强

  • GH-13827:解决了 phpdbg_frame 中类型 “zval” 的空指针访问问题。

Posix 功能增强

  • 修正了 ext/posix 中可重入函数的使用问题。

Session 管理优化

  • 解决了 ext/session/mod_files.c 中 “ps_files” 类型的空指针内成员访问问题(GH-13856)。
  • 修正了在 session.trans_sid_hosts 中使用 ini_set 时的内存泄漏和段错误(GH-13891)。
  • 提升了 Windows 上文件模式的缓冲区 _read/_write 大小限制。

Streams 稳定性增强

  • 解决了 Windows 上 file_get_contents() 失败并显示 “errno=22 Invalid argument” 的问题。
  • 修正了 stream filter 失败时的内存泄漏问题(GH-13264)。
  • 解决了 ext/openssl/xp_ssl.c 中 PHP_STREAM_OPTION_CHECK_LIVENESS 情况不正确的问题(GH-13860),避免了使用 dead socket。
  • 解决了在 musl 1.2.4 - lfs64 上构建失败的问题(GH-11678)。

Treewide 兼容性提升

  • 修正了 gcc-14 编译器产生的 Wcalloc-transpose-args

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表