Package Information |
Summary |
Event-driven asynchronous and concurrent networking engine with high performance for PHP. |
Maintainers |
shen zhe <
shenzhe163 at gmail dot com >
(developer)
[details]
Han Tianfeng <
rango at swoole dot com >
(lead)
[details]
Lufei <
lufei at php dot net >
(developer)
[details]
Bruce Dou <
doubaokun at php dot net >
(developer)
[details]
|
License |
Apache2.0 |
Description |
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 read/write file system
- coroutine dns lookup
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission |
Homepage |
https://github.com/swoole/swoole-src
|
Release notes
Version 4.1.0
(stable)
|
+ **Support `Redis`, `PDO`, `MySQLi`**, use `Swoole\Runtime::enableCoroutine()` to make them become Async IO by coroutine scheduler + **Coroutine tracking**: `Coroutine::listCoroutines()` can list all current coroutines, `Coroutine::getBackTrace($cid)` gets the function call stack of a coroutine + Refactoring `Co\Channel` C code to C++, solving unintended consequences of complex scenes and achieving high stability + Refactoring `Co\Http\Client` C code to C++ coroutine mode, solving asynchronous timing problems and achieving high stability + Support for using `exit` in coroutines and Servers, which will throw a catchable `\Swoole\ExitException` exception. + Remove PCRE dependency limits for all iterators (table/connection/coroutine_list) + Add the `open_websocket_close_frame` configuration to receive close frames in the onMessage event + Remove the `Http\Response->gzip()` method and use the `http_compression` configuration item instead. The bottom layer will automatically determine the client's incoming `Accept-Encoding` to select the appropriate compression method, add Google BR compression support + Add `Co\Http\Client->addData()` method to send the data in the memory as the content of the uploaded file. + `Solaris` system support + Http2 supports `MAX_FRAME_SIZE` framing transmission and `MAX_HEADER_LIST_SIZE` processing. The client adds `isStreamExist` method to detect whether there is a corresponding stream. + `swoole_http_response->status` increases the `reason` parameter * Fixed an issue where unsigned arguments in MySQL prepare used signed values ??to cause numeric overflows * Fixed an issue with no coroutine in the `onRequest` callback for HTTP2 * Fixed the problem that `tasking_num` became `-1` in some special cases * Fixed HTTP2-server window-update frame construction error * Fix all levels of compile warning under all PHP versions * Compile error will occur when GCC version is less than 4.8 * Fixed MySQL's memory allocation caused by the use of prepare statement without parameter binding * Fixed old stream memory loss leak when HTTP2 client reconnect |