Swoole v4.5.8 版本已經發布了,在這個版本中增加了 swoole_error_log 函數,用戶可以手動調用此函數將錯誤信息輸入到日誌中。
並且還優化了 Server 的 log_rotation 參數,可能有些小夥伴還不知道這個參數有什麼用:
它是用來設置 Server 日誌分割,默認不啟用,之前的版本僅支持按天分割,在這個版本中支持了按月、按小時和按分鐘進行分割。
$server->set([ 'log_file' => 'swoole', '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)