Swoole v4.6.5 is released with multiple enhancements and bug fixes.
curl_multi is not supported within the coroutine context. Start from v4.6.5, CURL native is fully supported within coroutine context.
You can execute multiple CURL clients concurrently with fibers within one process.
This is a major improvement, the libraries such as Guzzle HTTP client fully comply with Swoole coroutines. You can use
Guzzle with Swoole coroutines without any change. All the downstream libraries such as AWS SDK for PHP and Laravel HTTP Client which are relying on
Guzzle are also compliant with Swoole coroutines.
New APIs --- * Add count method to WaitGroup (swoole/library#100) (@sy-records) (@deminy) Enhancement --- * Supported native curl multi (#4093) (#4099) (#4101) (#4105) (#4113) (#4121) (swoole/[email protected]) (@matyhtf) (@sy-records) (@huanghantao) * Allow array HTTP/2 headers, Bug fixed for #4133 (#4140) Fixed --- * Fixed NetBSD build (#4080) (@devnexen) * Fixed OpenBSD build. (#4108) (@devnexen) * Fixed illumos/solaris build, member aliases only (#4109) (@devnexen) * Fixed heartbeat detection of SSL connection does not take effect when handshake is not completed (#4114) (@matyhtf) * Fixed httpclient proxy with host and port (#4124) (@Yurunsoft) * Fixed Swoole\Coroutine\Http::request, correct array to the client setting (swoole/library#103) (@leocavalcante) (@deminy) Kernel --- * Supported asm context on BSD (#4082) (@devnexen) * Used arc4random_buf to implement getrandom under FreeBSD (#4096) (@devnexen) * Make context darwin arm64: removes workaround and uses the label (#4127) (@devnexen) Test --- * Added build job for alpine (#4104) (@limingxinleo)
You can upgrade to Swoole v4.6.5 now:
pecl install swoole