内容简介:v4.6.7 版本主要是一个 Bug 修复版本,没有向下不兼容改动。 此版本中修复了Http\Response::end()方法总是返回 true 的问题,同时修改了 output_buffer_size 的默认值 在之前的版本中 output_buffer_size 的默认值...
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
以前的解决方法为:使用 sendfile
、write
或调整 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 修复版本》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- fastjson 1.2.55 版本发布,Bug 修复版本
- Swoole v4.6.1 版本发布,Bug 修复版本
- Swoole v4.6.2 版本发布,Bug 修复版本
- Swoole v4.6.4 版本发布,Bug 修复版本
- fastjson 1.2.57 版本发布,Bug 修复维护版本
- Swoole v4.5.11 版本发布,Bug 修复版本
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Solve It
Zbigniew Michalewicz、David B. Fogel / Springer / 2004-03-01 / USD 59.95
This book is the only source that provides comprehensive, current, and detailed information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic pro......一起来看看 《How to Solve It》 这本书的介绍吧!