Coroutine-based cross-platform concurrent I/O engine.

1201
112
C

English | 中文 | 日本語

Swow Logo
🚀 Swow 是一个专注于并发 I/O 的跨平台协程引擎

license
ci
codecov
release
❤️
php
platform
architecture

👾 设计理念

Swow 致力于使用最小 C 核心及多数 PHP 代码以支持 PHP 高性能网络编程,这决定了它在保障关键性能之外,更多的是通过 PHP 代码与 C 内核的无缝融合运作,提供强大的二次开发能力。

此外,它还提供了丰富多样的调试机制与强大且低门槛的调试工具,最大程度地确保开发者免受 BUG 困扰,普通开发者也能通过工具的加持具备接近专家级别的 DEBUG 能力,从而将开发效率最大化。

🎮 安装

和任何开源项目一样, Swow 总是在最新的发行版提供更佳的稳定性和更强大的功能, 请尽量保证你使用的是最新版本。

🔎 必要条件

👨‍🎤 通过 Composer 安装 (扩展 + PHP 库)

拉取源码:

composer require swow/swow

然后运行 vendor/bin 目录下的自动安装器 swow-builder 即可开始安装:

./vendor/bin/swow-builder --install

当你更新了 Swow 的源码时,你最好使用 rebuild 选项来重新编译 Swow 再安装:

./vendor/bin/swow-builder --rebuild --install

更多关于 swow-builder 的使用方法,请参考 安装文档 - 通过 Composer 安装

🐧 手动编译安装 (UNIX-like)

克隆项目(也可以通过 Composer 引入,cd 到 vendor/swow/swow/ext 中手动编译):

git clone https://github.com/swow/swow.git

熟悉的构建三板斧,最后使用root权限安装到系统:

cd swow/ext && \
phpize && ./configure && \
make clean && make -j && \
sudo make install

详见 安装文档 - 手动编译安装 (UNIX-like)

Ⓜ️ 手动编译安装 (Windows)

详见 安装文档 - 手动编译安装 (Windows)

也可在 最新的发行版 中直接下载 DLL。

🔰️ 安全问题

安全问题应该通过邮件私下报告给 [email protected]
你将在 24 小时内收到回复,如果因为某些原因你没有收到回复,请通过回复原始邮件的方式跟进,以确保我们收到了你的原始邮件。

🖊️ 贡献

你的贡献对于 Swow 的发展至关重要!

你可以通过以下方式来贡献:

❤️ 贡献者

PHP 高性能协程网络通信引擎开发之路曲高和寡,这是一项高处不胜寒的开源工作。

非常感谢以下小伙伴对于 Swow 项目的代码贡献,没有大家就没有现在的 Swow。

Contributors

💬 开发 & 讨论

📃 开源协议

Swow 使用 Apache License Version 2.0 开源。

Swow 也包含了一些第三方库,这些库的开源协议各不相同,请参考 LICENSES.full 获取完整的开源协议文本。