热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Swoolev4.6.7版本发布,Bug修复版本

v4.6.7版本主要是一个Bug修复版本,没有向下不兼容改动。此版本中修复了Http\Response::end()方法总是返回true的问题,同时修改了output_buffer_size的默认值在之前的版本中output_buffer_size的默认值
极客们,请收下2021 微软 x 英特尔黑客松大赛英雄帖!>>> Swoole v4.6.7 版本发布,Bug 修复版本

v4.6.7 版本主要是一个 Bug 修复版本,没有向下不兼容改动。

此版本中修复了Http\Response::end()方法总是返回 true 的问题,同时修改了 output_buffer_size 的默认值

在之前的版本中 output_buffer_size 的默认值为2M,由于受到 output_buffer_size 的限制,如果在调用end时,需要发送的内容大于这个限制则会响应失败,并抛出如下错误:

use Swoole\Http\Server;
use Swoole\Http\Request;
use Swoole\Http\Response;

$http = new Server('127.0.0.1', 9501);

$http->set([
    'http_compression' => false,
    'buffer_output_size' => 128 * 1024,
]);

$http->on('request', function (Request $request, Response $response) {
    assert($response->end(str_repeat('A', 256 * 1024)) === false);
    assert(swoole_last_error() === SWOOLE_ERROR_DATA_LENGTH_TOO_LARGE);
});

$http->start();
使用以上代码即可复现该错误
WARNING finish (ERRNO 1203): The length of data [262144] exceeds the output buffer size[131072], please use the sendfile, chunked transfer mode or adjust the output_buffer_size

以前的解决方法为:使用 sendfilewrite 或调整 output_buffer_size,而此版本中将output_buffer_size的默认值提高到了无符号 INT 最大值(UINT_MAX)

从 4.5 版本开始去掉了 Worker 进程共享内存的使用,改为了全部使用 UnixSocket 管道,所以不再需要预先分配内存。output_buffer_size 参数只是一个限制,设置为比较大的参数也不会导致额外占用内存。

同时还修复了end的返回值一直是true的问题,以上代码中产生错误后未成功响应,返回值为false

更新日志

下面是完整的更新日志:

增强

  • Manager 进程和 Task 同步进程支持调用Process::signal()函数 (#4190) (@matyhtf)

修复

  • 修复信号不能被重复注册的问题 (#4170) (@matyhtf)
  • 修复在 OpenBSD/NetBSD 上编译失败的问题 (#4188) (#4194) (@devnexen)
  • 修复监听可写事件时特殊情况 onClose 事件丢失 (#4204) (@matyhtf)
  • 修复 Symfony HttpClient 使用 native curl 的问题 (#4204) (@matyhtf)
  • 修复Http\Response::end()方法总是返回 true 的问题 (swoole/swoole-src@66fcc35) (@matyhtf)
  • 修复 PDOStatementProxy 产生的 PDOException (swoole/library#104) (@twose)

内核

  • 重构 worker buffer,给 event data 加上 msg id 标志 (#4163) (@matyhtf)
  • 修改 Request Entity Too Large 日志等级为 warning 级别 (#4175) (@sy-records)
  • 替换 inet_ntoa and inet_aton 函数 (#4199) (@remicollet)
  • 修改 output_buffer_size 默认值为 UINT_MAX (swoole/swoole-src@46ab345) (@matyhtf)

以上所述就是小编给大家介绍的《Swoole v4.6.7 版本发布,Bug 修复版本》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!


推荐阅读
  • 线程能否先以安全方式获取对象,再进行非安全发布? ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文探讨了Go语言中iota关键字的具体含义及其在常量声明中的应用。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 在工业过程控制系统中,由于被控对象的环境比较恶劣,干扰源比较多,仪器、仪表采集的信息常会受到干扰,所以在模拟系统中,为了消除干扰,常采用RC滤波电路,而在由工业控制计算机组成的自动 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 在CICS应用环境中,众多客户端通过网络与CICS服务器进行连接。系统管理员可以通过CICS系统交易CEMT查询当前连接的客户端信息。然而,在非客户端模式下,识别用户连接并解决信息获取错误的问题变得更为复杂。本文将探讨如何在CICS服务器端准确识别非客户端模式的用户连接,并提供有效的解决方案,以确保系统的稳定性和数据的准确性。此外,还将介绍一些常用的诊断工具和技术,帮助管理员快速定位和解决问题。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • 基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析
    基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析 ... [详细]
  • iOS 不定参数 详解 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
author-avatar
大侠aaaaaaaaaaa_225
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有