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 mysql client
- coroutine redis 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 6.0.0
(alpha)
|
- Swoole supports multi-threading mode. When PHP is in ZTS mode and Swoole is compiled with --enable-swoole-thread, the multi-threading mode can be utilized. - Added a new thread management class Swoole\Thread. - Introduced thread lock Swoole\Thread\Lock. - Added thread atomic counter Swoole\Thread\Atomic, Swoole\Thread\Atomic\Long. - Added safe concurrent containers Swoole\Thread\Map, Swoole\Thread\ArrayList, Swoole\Thread\Queue. - File asynchronous operations support iouring as the underlying engine. Installing liburing and compiling Swoole with --enable-iouring enables asynchronous operations for functions like file_get_contents, file_put_contents, fopen, fclose, fread, fwrite, mkdir, unlink, fsync, fdatasync, rename, fstat, lstat, filesize through iouring. - Upgraded Boost Context to version 1.84. Now, Loongson CPUs can also supports coroutines. - Fixed the issue where installation via pecl was not possible. - Fixed the bug where setting keepalive was not possible for Swoole\Coroutine\FastCGI\Client. - Fixed the issue where exceeding the max_input_vars would throw an error, causing the process to restart repeatedly. - Fixed unknown issues caused by using Swoole\Event::wait() within a coroutine. - Fixed the problem where proc_open does not support pty in coroutine mode. - Fixed segmentation fault issues with pdo_sqlite on PHP 8.3. - Fixed unnecessary warnings during the compilation of Swoole. - Fixed the error thrown by zend_fetch_resource2_ex when STDOUT/STDERR are already closed. - Fixed ineffective set_tcp_nodelay configuration. - Fixed the occasional unreachable branch issue during file upload. - Fixed the problem where setting dispatch_func would cause PHP's internals to throw errors. - Fixed the deprecation of AC_PROG_CC_C99 in autoconf >= 2.70. - Capture exceptions when thread creation fails. - Fixed the undefined problem with _tsrm_ls_cache. - Fixed the fatal compile error with GCC 14. - Removed unnecessary checks for socket structs. - Upgraded Swoole Library. - Added support for status code 451 in Swoole\Http\Response. - Synchronized file operation code across different PHP versions. - Synchronized pdo operation code across different PHP versions. - Optimized the code for Socket::ssl_recv(). - Improved config.m4; some configurations can now set library locations via pkg-config. - Optimized the use of dynamic arrays during request header parsing. - Optimized file descriptor fd lifecycle issues in multi-threading mode. - Optimized some fundamental coroutine logic. - No longer supports PHP 8.0. - No longer supports Swoole\Coroutine\MySQL coroutine client. - No longer supports Swoole\Coroutine\Redis coroutine client. - No longer supports Swoole\Coroutine\PostgreSQL coroutine client. - Swoole-v6.0.0-alpha is a test version and cannot be used in any production environment; it is for testing purposes only. |