Swoole v4.5.8 版本已经发布了,在这个版本中增加了 swoole_error_log 函数,用户可以手动调用此函数将错误信息输入到日志中。
并且还优化了 Server 的 log_rotation 参数,可能有些小伙伴还不知道这个参数有什么用:
它是用来设置 Server 日志分割,默认不启用,之前的版本仅支持按天分割,在这个版本中支持了按月、按小时和按分钟进行分割。
$server->set([ 'log_file' => 'swoole.log', 'log_rotation' => SWOOLE_LOG_ROTATION_HOURLY, //每小时 ]);
不仅仅是这些,在这个版本中还支持了更多的 cURL 选项,同时修复了由于设置了 CURLOPT_WRITEFUNCTION 所导致的一些问题,以及在处理 content-type
header 的时候没有区分名字大小写导致被覆盖问题。
还没有结束,在之后的版本中将会使用另外的一种方式支持 Hook cURL,敬请期待~
下面来看看此版本的更新日志
更新日志
新增 API
- 新增 swoole_error_log 函数,优化 log_rotation (swoole/swoole-src@67d2bff) (@matyhtf)
- readVector 和 writeVector 支持 SSL (#3857) (@huanghantao)
增强
- 当子进程退出后,让 System::wait 退出阻塞 (#3832) (@matyhtf)
- DTLS 支持 16K 的包 (#3849) (@matyhtf)
- Response::cookie 方法支持 priority 参数 (#3854) (@matyhtf)
- 支持更多的 CURL 选项 (swoole/library#71) (@sy-records)
- 处理 CURL HTTP header 没有区分名字大小写导致被覆盖问题 (swoole/library#76) (@filakhtov) (@twose) (@sy-records)
修复
- 修复 readv_all 和 writev_all 错误处理 EAGAIN 的问题 (#3830) (@huanghantao)
- 修复 PHP8 编译警告的问题 (swoole/swoole-src@03f3fb0) (@matyhtf)
- 修复 SwooleTable 二进制安全的问题 (#3842) (@twose)
- 修复 MacOS 下 System::writeFile 追加文件覆盖的问题 (swoole/swoole-src@a71956d) (@matyhtf)
- 修复 CURL 的 CURLOPT_WRITEFUNCTION (swoole/library#74) (swoole/library#75) (@sy-records)
- 修复解析 HTTP form-data 时内存溢出的问题 (#3858) (@twose)
- 修复在 PHP8 中 is_callable() 无法访问类私有方法的问题 (#3859) (@twose)
内核
- 重构内存分配函数,使用 SwooleG.std_allocator (#3853) (@matyhtf)
- 重构管道 (#3841) (@matyhtf)