event是libevent的OOP封装,比libevent扩展提供了更完善的OOP结构和大量的内置可重用组件,libevent不支持php 7及后续版本,已经逐步被pecl舍弃,其最新版本只维护到2013年且长期处于beta状态。
所以,建议优先使用event而不是libevent扩展。 广义上的libevent是指libevent这个事件库,但PHP中的一个扩展也称为libevent, 实际使用时要注意加以区分。
event扩展依赖libevent2库,安装event时可能遇到以下错误: checking for include/event2/event.h... not found configure: error: Please reinstall the event library, or provide the installation prefix via --with-event-libevent-dir option ERROR: `/tmp/pear/temp/event/configure --with-php-config=/usr/local/php/bin/php-config --enable-event-debug=no --enable-event-sockets=yes --with-event-libevent-dir=/usr --with-event-pthreads=no --with-event-extra --with-event-openssl --with-openssl-dir=no' failed 提示没有安装libevent2软件包:
尝试安装: yum install libevent2 提示:Error: libevent2-devel conflicts with libevent-devel-1.4.13-4.el6.x86_64 与旧版本冲突,卸载旧版本: yum remove libevent
然后再安装libevent软件包,成功 最后安装event组件:
pecl install event 成功。
注意:一些php安装中可能没有pecl命令,这个命令集成在pear包中,编译php时需要启用pear包: 不要在confiure参数中添加:--without-pear