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 installphp libevent擴充套件介紹:#php.ini新增extension=libevent.so
(1)常量
(2)函式
php libevent擴充套件使用:
例1:5s後觸發callback
$base =event_base_new();例2:列印輸入流$event =event_new();
event_set($
event, 0
, ev_timeout, function() );
event_base_set($
event, $base);
event_add($
event, 5000000
);event_base_loop($
base);
function print_line($fd, $events, $arg)例3:實現簡單web serverecho 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);
在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 ...