2

v4.5.1,这是一个 BUG 修复版本, 补充了本应在v4.5.0引入的 System 文件函数废弃标记。

增强

  • 支持 hook 下的 socket_context 的 bindto 配置 (#3275) (#3278) (@codinghuang)
  • 支持 client::sendto 自动 dns 解析地址 (#3292) (@codinghuang)
  • Process->exit(0)将会直接导致进程退出, 若要执行 shutdown_functions 再退出请使用 PHP 提供的 exit (a732fe56) (@matyhtf)
  • 支持配置log_date_format以更改日志日期格式, log_date_with_microseconds在日志中显示微秒时间戳 (baf895bc) (@matyhtf)
  • 支持 CURLOPT_CAINFO and CURLOPT_CAPATH (swoole/library#32) (@sy-records)
  • 支持 CURLOPT_FORBID_REUSE (swoole/library#33) (@sy-records)

修复

  • 修复 32 位下构建失败 (#3276) (#3277) (@remicollet) (@twose)
  • 修复协程 Client 重复连接时没有 EISCONN 错误信息的问题 (#3280) (@codinghuang)
  • 修复 Table 模块中潜在的 bug (d7b87b65) (@matyhtf)
  • 修复 Server 中由于未定义行为导致的空指针(防御性编程) (#3304) (#3305) (@twose)
  • 修复心跳配置开启后产生空指针错误的问题 (#3307) (@twose)
  • 修复 mysqli 配置不生效 (swoole/library#35)
  • 修复 response 中不规范的 header(缺少空格)时解析的问题 (swoole/library#27) (@Yurunsoft)

废弃

  • 将 CoroutineSystem::(fread/fgets/fwrite)等方法标记为废弃 (请使用 hook 特性替代, 直接使用 PHP 提供的文件函数) (c7c9bb40) (@twose)

内核

  • 使用 zend_object_alloc 为自定义对象分配内存 (cf1afb25) (@twose)
  • 一些优化, 为日志模块添加更多配置项 (#3296) (@matyhtf)
  • 大量代码优化工作和增加单测 (swoole/library) (@deminy)

swoole官方公众号


沈唁
1.9k 声望1.2k 粉丝