You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
6 years ago | |
---|---|---|
src | 6 years ago | |
.gitignore | 6 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago | |
composer.json | 6 years ago |
README.md
Workerman-Uv
简介
libuv 是一个事件驱动的异步 I/O 库,最初是为 Node.js 开发的。随后也在 Python、Julia 等语言中被应用。
php-uv 是对 libuv 的封装,使其可以在 PHP 中被应用。
本项目将 php-uv 的 event-loop 应用于 Workerman,从而可以在基于 Workerman 的项目中利用 php-uv 提供的特性。
使用说明
-
使用包管理器安装 libuv 和 libuv-devel(可能需要手动添加源)。
-
使用 pecl 安装 php-uv(也可以从 pecl 官网或 GitHub 仓库下载源码后手动编译)。
-
使用 composer 加载
Workerman\\Events\\Uv
。
composer require cismonx/workerman-uv
- 在项目中使用
Workerman\Events\Uv
提供的 event-loop。如下:
Worker::$eventLoopClass = '\\Workerman\\Events\\Uv';
注意
-
使用 libuv 的 event-loop 后,Workerman 的子进程处理 SIGINT 事件时会 exit 2 (no such file or directory),这个问题待解决。
-
如果需要使用 libuv 的多线程特性,需要线程安全(ZTS)的 PHP。
-
php-uv 目前处于 Beta 阶段,其稳定性不能保证。请避免将其应用于生产环境。