PHP libevent擴充套件安裝

2021-09-07 06:38:51 字數 2582 閱讀 1563

libevent是乙個基於事件驅動的高效能網路庫。支援多種 i/o 多路復用技術, epoll、 poll、 dev/poll、 select 和 kqueue 等;支援 i/o,定時器和訊號等事件;註冊事件優先順序。

php libevent擴充套件安裝:

libevent擴充套件依賴於原始的libevent庫,必須先把libevent庫安裝。

(1)安裝libevent庫

(2)安裝libevent擴充套件( http://

pecl.php.net/get/libevent-0.1.0.tgz

tar -zxvf libevent-0.1.0

.tgz

cd libevent-0.1.0

#使用phpize生成configure檔案
phpize 

./configure --with-php-config=/usr/local/php54/bin/php-config --with-libevent=/usr/local/libevent-2.0.20/make &&make install

#php.ini新增extension=libevent.so

php libevent擴充套件介紹:

(1)常量

(2)函式

php libevent擴充套件使用:

例1:5s後觸發callback

$base =event_base_new();

$event =event_new();

event_set($

event, 0

, ev_timeout, function() );

event_base_set($

event, $base); 

event_add($

event, 5000000

);event_base_loop($

base);

例2:列印輸入流

function print_line($fd, $events, $arg)

echo fgets($fd);} 

//create base and event

$base =event_base_new();

$event =event_new();

$fd =stdin;

//set event flags

event_set($event, $fd, ev_read | ev_persist, '

print_line

', array($event, $base

));//

set event base

event_base_set($event, $base

);//

enable event

event_add($event

);//

start event loop

event_base_loop($base);

例3:實現簡單web server

在cli執行後,開啟瀏覽器2000埠試試看。

$socket = stream_socket_server ('

tcp:

', $errno, $errstr);

stream_set_blocking($socket, 0);

$base =event_base_new();

$event =event_new();

event_set($

event, $socket, ev_read | ev_persist, '

ev_accept

', $base

);event_base_set($

event, $base

);event_add($

event

);event_base_loop($

base); 

function ev_accept($socket, $flag, $

base) 

function ev_error($buffer, $error, $connection)

function ev_read($buffer, $connection)

fwrite($connection , date(

'y-m-d h:i:s

'));

ev_error($buffer ,

'', $connection);

}

PHP libevent函式基本介紹

按照使用libevnet庫順序,看一下相關函式做什麼操作。呼叫event base new,初始化struct event base物件。event base new裡做了如下工作 1 申請記憶體 2 初始化定時器堆和事件佇列 3 為event base物件選擇底層事件函式封裝物件。根據編譯選項,初...

php libevent 功能與使用方法詳解

libevent是乙個基於事件驅動的高效能網路庫。支援多種 i o 多路復用技術,epoll poll dev poll select 和 kqueue 等 支援 i o,定時器和訊號等事件 註冊事件優先順序。常量如下 值常量名含義1 ev timeout 超過時間後事件成為啟用狀態 2ev rea...

redis php redis擴充套件 安裝

日期 2013 10 03 我是在centos 6.3 中進行的。使用到的軟體 redis 2.6.16 tcl php redis 擴充套件 phpredisadmin redis管理工具 首頁安裝tcl 如下 tcl安裝成功之後安裝redis服務 如下 安裝成功 啟動redis服務 如下 12 ...