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
相關文章
相關標籤/搜索