本书未发布

4.3.2 版本

为了更好的阅读体验,将文档从 Swoole 官方文档 搬运过来。内容比较多,我会慢慢搬运过来,也欢迎大家以提交改进的方式一起帮助我。

优化

  • 动态化ipc_size, 极大提升Process模式下进程间通讯性能 (48c1b2b) (3e85511) (@matyhtf)
  • 完善Runtime::enableCoroutineAPI 设计, 第一参数支持直接传入 flag, 且其表现与 error_reporting 一致(由标志位控制开关) (464ad65) (7d4be65) (@twose)
  • 使用SSL连接时如使用了 host_name, 将自动传入 ssl_host_name 参数 (563e677) (@twose)
  • 一些 NOTICE 级别的信息将改为 INFO 级别, 如服务器重启信息等 (d87d63a) (@twose)
  • dispatch_func返回值新增常量 SWOOLE_DISPATCH_RESULT_DISCARD_PACKET, SWOOLE_DISPATCH_RESULT_USERFUNC_FALLBACK, 分别代表丢弃数据包, 从用户 dispatch 方法回归到为底层 dispatch_mode 所指定的模式 (#2451) (@windrunner414)
  • swoole_strerror 支持自动识别系统错误码和 Swoole 错误码 (d89c565) (#2458) (@twose) (@mabu233)
  • 增加 http_parse_cookie 选项用于关闭 Cookie 解析 (dce290ef) (@twose)
  • path_info 进行 url 解码 (82f8e4fc) (@twose)
  • 支持了 PHP_STREAM_OPTION_CHECK_LIVENESS (6ff292da) (@twose)

    修复

  • 修复 CID-1478883, CID-1478887, CID-1478891, CID-1478894 (688713f) (17805af) (e8f1473) (58a098f) (@matyhtf)
  • 修复由于 fd 复用导致的非法内存访问 (08b37fd) (@twose)
  • 修复由于 fd 复用导致的错误的连接关闭 (#2444) (@twose)
  • 修复由于 PHP 内核问题引起的, 脚本在 shutdown 期间 Object-GC 不工作的问题(导致内存泄漏) (836ea23) (15ba9f7) (@twose)
  • 修复协程迭代器在迭代期间产生协程调度操作导致迭代器失效的问题 (db9e155) (@twose)
  • 修复 Co::exec可能导致的进程卡死 (8a1d776) (22252d7) (@matyhtf)
  • 修复由于导出Socket导致的多次close(BADF) (ebbce67) (c7af14c) (c717122) (@matyhtf)
  • 补全 Swoole\Buffer 的默认属性定义 (2f66319) (@twose)
  • 补全 Co::exec 遗漏的方法参数定义 (7da1376) (@twose)
  • 修复 MySQL 客户端连接无效的主机时错误码不正确的问题 (#2367) (@twose)
  • 修复同步客户端被信号打断的问题 (#2448) (@liues1992)
  • 修复i?86/aarch64下的编译检查 (#2460) (@dixyes)
  • 修复协程 poll 时 timeout 参数为0的处理 (1143743) (@matyhtf)
  • 修复协程化后的 stream_select 的 timeout 参数为 null 时的无限挂起问题(未初始化结构体)和纳秒超时不生效问题 (e8a58d5) (c166b7a) (@twose)
  • 修复协程化后的 stream_select 在各种场景下的非常规表现 (d8e7a41) (3ce877d) (2819232) (cd8e4c7) (@twose) (@matyhtf)
    PHP 层面无法处理的错误将不再产生 PHP Warning, 而是产生一条 Swoole 的警告日志 (955d021) (@twose)
  • 修复 Co\Client 构造失败时未抛出异常导致后续操作访问了无效内存的问题 (#2466) (@twose)
  • 修复 HTTP2 服务器和客户端的 cookie 解析问题 (e18d66b) (@twose)
  • 修复 Process->getProcess 方法导致的无效内存访问 (fe1ca17) (@matyhtf)
  • 修复 Server 只配置 open_http2_protocol 时无法设置 onRequest 回调的问题, 但使用 Server 而不是 Http\Server 来启用 HTTP 相关协议, 将会产生一个警告提示 (#2469) (@twose)
  • 修复协程化文件函数后, 文件上锁死锁问题 (23401d8) (86cf0c9) (@matyhtf)
  • 修复 Co\Http2\Client 连接失败产生错误事件时空指针 (66c31ee) (@twose)
  • 修复 Socket->accept 构造的 socket 未初始化类型(可能会导致 tcp_nodelay 等属性失效) (5d26b00) (@twose)
  • 修复 Co\Http\Client 升级为 websocket 客户端后无法读写分离的问题 (#2477) (523c588) (@twose)
    补全 Event::dispatch, Event::isset 方法定义 (#2491) (@deminy)
  • 修复非法构造的连接迭代器导致内存错误 (#2492) (@matyhtf)
  • 修复了 reload_async 选项在有定时器时无法生效 (9eaf32cc) (bacb5228) (@matyhtf) (@twose)
  • 开启 task_enable_coroutine 时将不再允许使用msgqueue (#2497) (@matyhtf)
  • 修复 read_eof 内存无限扩容问题 (e936c764) (@matyhtf)
  • Sockets C++ 兼容性修复 (3cf7dcba) (@twose)

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~