5

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)

Swoole官方公众号


沈唁
1.9k 声望1.2k 粉丝