php 的 libevent / event / ev / uv 扩展

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

一、ext-event/ext-libeventlibevent wrapper,推荐 ext-evetworkerman 在用。mysql

二、ext-evlibev wrapperlibev 要优于 libevent,最新的 reactPHP 在用哦,其实 reactPHPEventLoop,能够根据你安装的扩展选用相应的事件驱动库,可 参考。因为libevwindows 支持不够好。所以,Node.js 封装了一层libuvlibuv 是基于 windowsIOCP*nixlibev 进行封装(转载至)。react

三、ext-uv 是一套 libuv wrapper,如今我了解到的有使用此扩展的组件有 react/mysqlreactPHPasync mysql client,扩展依赖 libuv libuv-devel,不然可能会报错:git

error: wrong uv library version or library not found

相关了解github

libevent库 -- ext-event php5.4+ 或 ext-libevent php5.6-
libev库 -- ext-ev php5.4+
libuv库 -- ext-uv php7.0+

一、安装 lib
yum 安装sql

yum install libuv libuv-devel
yum install libev libev-devel
yum install libevent libevent-devel

编译安装windows

git clone git@github.com:libuv/libuv.git
cd libuv
./autogen.sh
./configure
make && make install
# libev libevent 的编译安装我就不给出了 都理解

二、安装 extphp7

# uv 如今尚未 stable 版本 因此这里制定 beta 版本号
pecl install uv-0.2.4
pecl install ev
pecl install event
#pecl install libevent

三、启用扩展app

echo extension=event.so >> /your/php.ini
echo extension=ev.so >> /your/php.ini
echo extension=uv.so >> /your/php.ini
php -m
相关文章
相关标签/搜索