安裝挺簡單的,本文的主要目的是梳理清楚這幾個事件驅動庫和對應的擴展之間的關係。php
一、ext-event/ext-libevent
是 libevent wrapper
,推薦 ext-evet
,workerman
在用。mysql
二、ext-ev
是 libev wrapper
,libev
要優於 libevent
,最新的 reactPHP
在用哦,其實 reactPHP
有 EventLoop
,能夠根據你安裝的擴展選用相應的事件驅動庫,可 參考。因爲libev
對 windows
支持不夠好。所以,Node.js
封裝了一層libuv
。libuv
是基於 windows
的 IOCP
和 *nix
的 libev
進行封裝(轉載至)。react
三、ext-uv
是一套 libuv wrapper
,如今我瞭解到的有使用此擴展的組件有 react/mysql
, reactPHP
的 async 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 的編譯安裝我就不給出了 都理解
二、安裝 ext
php7
# 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