centos7、php7.1.1安装event扩展

经测试,php需要编译安装,才能装上event扩展

*Event作用及说明*

描述:有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口

Event扩展不是必须的,当业务需要支撑上万并发连接时,推荐安装Event,能够支持巨大的并发连接。如果业务并发连接比较低,例如1000并发连接,则可以不用安装。

event是libevent的OOP封装,比libevent扩展提供了更完善的OOP结构和大量的内置可重用组件,libevent不支持php 7及后续版本,已经逐步被pecl舍弃,其最新版本只维护到2013年且长期处于beta状态。

所以,建议优先使用event而不是libevent扩展。 广义上的libevent是指libevent这个事件库,但PHP中的一个扩展也称为libevent, 实际使用时要注意加以区分。

*event扩展安装说明:*

1、php 必须要开启 sockets 功能,需要安装php的socket扩展,才可以安装event扩展;编译PHP的时候开启 --enable-sockets
2、event扩展也同样依赖libevent库,所以首先需要安装libevent、libevent-devel包(并非扩展),即UNIX的libevent基础库
3、libevent扩展支持php5.3-5.6,目前还不支持php7。php7用户请使用event扩展,php7用户请不要装libevent扩展,否则会出现coredump错误

**安装步骤**

1、安装支持库libevent,需要编译高版本(这里以最新版本release-2.1.8-stable为例)
wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz -P /usr/local/src
cd /usr/local/src
tar -zxvf libevent-2.1.8-stable.tar.gz && cd libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent-2.1.8
make && make install
#注:yum install libevent-devel -y

2、安装event库(以event-2.3.0.tgz为例)
wget -c http://pecl.php.net/get/event-2.3.0.tgz -P /usr/local/src
cd /usr/local/src
tar -zxvf event-2.3.0.tgz && cd event-2.3.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/
make && make install

3、在php.ini添加下面配置
extension=’/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/event.so’

4、重启php-fpm
systemctl restart php-fpm.service

报错:
php_sockets_le_socket in Unknown on line 0
解决:event扩展必须在sockets扩展之后加载,这两个扩展在 php.ini 中按顺序填写
extension=sockets.so
extension=event.so

猜你喜欢

转载自blog.csdn.net/dawnsmile113/article/details/83108754