PHP 7 编译安装开启 libevent 扩展支持
更新:HHH   时间:2023-1-7


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 

返回web开发教程...