swoole

Event-driven asynchronous and concurrent networking engine with high performance for PHP.


Event-driven asynchronous and concurrent networking engine with high performance for PHP.
- event-driven
- coroutine
- asynchronous non-blocking
- multi-thread reactor
- multi-process worker
- multi-protocol
- millisecond timer
- built-in tcp/http/websocket/http2 server
- coroutine tcp/http/websocket client
- coroutine mysql client
- coroutine redis client
- coroutine read/write file system
- coroutine dns lookup
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission

License: Apache2.0

Latest releases

Version Release Download
4.8.6 2022-01-13 swoole-4.8.6.tgz
4.8.5 2021-12-24 swoole-4.8.5.tgz
4.8.4 2021-12-18 swoole-4.8.4.tgz
4.8.3 2021-12-01 swoole-4.8.3.tgz
4.8.2 2021-11-18 swoole-4.8.2.tgz
Show all releases

Changelog

Version Message
4.8.6 - Added prefix to boost/context API names
- Optimized configure options
4.8.5 - Revert parameter type of Table
- Fix crash when received wrong data with websocket protocol
4.8.4 - Fixed compatibility of sockets hook with PHP-8.1
- Fixed compatibility of Table with PHP-8.1
- Fixed bug #4519
4.8.3 - Fixed compatibility of curl native hook with PHP-8.1
- Fixed compatibility of sockets hook with PHP-8
- Fixed the return value error of sockets hook function
- Added Coroutine\Socket::isClosed()
- Fixed Http2Server sendfile cannot set content-type
- Optimize performance of HttpServer date header
4.8.2 - Fixed memory leak of proc_open hook
- Fixed compatibility of curl native hook with PHP-8.0 and PHP-8.1
- Fixed connection cannot be closed normally in the Manager process
- Fixed Manager process cannot use sendMessage
- Fixed Coroutine\Http\Server received abnormally large POST data parsing
- Fixed cannot exit directly when a fatal error occurs in PHP8 environment
- Adjust coroutine max_concurrency option, only allowed to be used in Co::set()
- Adjust Coroutine::join() to ignore non-exists coroutine
Show complete changelog