4.3.2
优化
- 动态化
ipc_size
, 极大提升Process模式下进程间通讯性能 (48c1b2b
) (3e85511
) (@matyhtf) - 完善
Runtime::enableCoroutine
的API设计, 第一参数支持直接传入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)