Coroutine-based multi-platform support engine with a focus on concurrent I/O
Installs: 447 815
Stars: 1 018
Open Issues: 21
- php: >=8.0
- composer/semver: ^3.3
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- friendsofphp/php-cs-fixer: ^3.13
- phan/phan: ^5.4.1
- phpstan/phpstan: ^1.9.2
- phpunit/phpunit: ^9.5.26
- rector/rector: ^0.12.23
- vimeo/psalm: ^4.30.0
- ext-swow: *
- swow/php-stub-generator: *
- swow/swow-library: *
- swow/swow-stub: *
- swow/swow-utils: *
This package is auto-updated.
Last update: 2023-06-01 12:25:32 UTC
English | 中文
🚀 Swow is a multi-platform support and coroutine-based engine with a focus on concurrent I/O
👾 Design Philosophy
Swow is committed to using the smallest C core and most of the PHP code to support PHP high-performance network programming, which determines that it is more about providing powerful secondary development capabilities by seamlessly integrating PHP code and C kernel, while ensuring critical performance.
In addition, it provides a variety of debugging mechanisms and powerful and low-threshold debugging tools, which can ensure that developers are free from the trouble of BUGs as much as possible, and ordinary developers can also have the ability to debug near the level of experts with the help of tools, so as to maximize development efficiency.
Like any open source project, Swow always provides the strongest stability and features in the newest release, please try to ensure that you are using the latest version.
- Common operating systems such as Linux, Windows, macOS, etc. Almost same as libuv
- PHP 8.0.0 or above, the latest version is recommended
👨🎤 By Composer
pull source code:
composer require swow/swow
Then run the automatic installer
swow-builder under the
vendor/bin directory to start the installation:
After you update the source code of Swow, you should use the
rebuild option to recompile Swow and then install it:
./vendor/bin/swow-builder --rebuild --install
More information about
swow-builder can be found in Extension installation document - By Composer.
🐧 Manual installation (UNIX-like)
clone the Swow (You can also import it through Composer, and then cd to
vendor/swow/swow/ext and install manually):
git clone https://github.com/swow/swow.git
Well-known building procedure. Install to the system with root privileges:
cd swow/ext && \ phpize && ./configure && make && \ sudo make install
Ⓜ️ Manual installation (Windows)
See Installation document - Manual compilation installation (Windows).
You can also download DLL directly in Latest Release.
🔰️ Security issues
Security issues should be reported privately, via email, to firstname.lastname@example.org. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message.
Your contribution to Swow development is very welcome!
You may contribute in the following ways:
- Report issues and feedback
- Submit fixes, features via Pull Request
- Write/polish documentation via GitHub
PHP high-performance coroutine network communication engine development road is too high to be popular, It's a lonely open source work at the top.
Thank you very much to the following partners for the contribution of the Swow project, without you there is no Swow now.
💬 Development & Discussion
- Blog (CHS) https://docs.toast.run/swow-blog/chs
- Features (CHS) https://docs.toast.run/swow-blog/chs/init.html
- API Reference：https://docs.toast.run/swow-api/ci.html
Swow is available under the Apache License Version 2.0. Swow also includes external libraries that are available under a variety of licenses. See LICENSES.full for the full license text.