安装挺简单的,本文的主要目的是梳理清楚这几个事件驱动库和对应的扩展之间的关系。
1、ext-event/ext-libevent
是 libevent wrapper
,推荐 ext-evet
,workerman
在用。
2、ext-ev
是 libev wrapper
,libev
要优于 libevent
,最新的 reactPHP
在用哦,其实 reactPHP
有 EventLoop
,可以根据你安装的扩展选用相应的事件驱动库,可 参考。由于libev
对 windows
支持不够好。因此,Node.js
封装了一层libuv
。libuv
是基于 windows
的 IOCP
和 *nix
的 libev
进行封装(转载至)。
3、ext-uv
是一套 libuv wrapper
,现在我了解到的有使用此扩展的组件有 react/mysql
, reactPHP
的 async mysql client
,扩展依赖 libuv libuv-devel
,否则可能会报错:
error: wrong uv library version or library not found
相关了解
libevent库
--ext-event php5.4+ 或 ext-libevent php5.6-
libev库
--ext-ev
php5.4+
libuv库
--ext-uv
php7.0+
1、安装 lib
库 yum
安装
yum install libuv libuv-devel
yum install libev libev-devel
yum install libevent libevent-devel
编译安装
git clone git@github.com:libuv/libuv.git
cd libuv
./autogen.sh
./configure
make && make install
# libev libevent 的编译安装我就不给出了 都理解
2、安装 ext
# uv 现在还没有 stable 版本 所以这里制定 beta 版本号
pecl install uv-0.2.4
pecl install ev
pecl install event
#pecl install libevent
3、启用扩展
echo extension=event.so >> /your/php.ini
echo extension=ev.so >> /your/php.ini
echo extension=uv.so >> /your/php.ini
php -m
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。