libevent是一个基于事件驱动的高性能网络库。
支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。
有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口。
libevent扩展依赖于原始的libevent库,必须先把libevent库安装。
Libevent 项目在 GitHub 的项目地址:https://github.com/nmathewson/Libevent
下载 Libevent 源码
# git clone
# cd Libevent
# ./configure --prefix=/usr/local/libevent-2.1.8
# make && make install
安装event库(以event-2.3.0.tgz为例)(另外,php 必须要开启 sockets 功能,编译PHP的时候开启 --enable-sockets)
# wget
# tar xf event-2.3.0.tgz
# cd event-2.3.0
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/
# make && make install
找到PHP的配置文件 php.ini,添加如下配置:
extension=event.so
好了,安装完成,执行 php -i | grep -i event 查看是否有相关的模块信息。
对于 php-fpm 服务,重启服务即可加载新环境。
相关开发帮助文档见:http://php.net/manual/zh/book.libevent.php