php 的 libevent / event / ev / uv 扩展

安装挺简单的,本文的主要目的是梳理清楚这几个事件驱动库和对应的扩展之间的关系。

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 [email protected]: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

你可能感兴趣的:(yarn)