由于业务中用到了workerman
框架,为了优化并发性能,决定安装event
扩展。
服务器上是源码安装的php5.6。
1. 安装libevent
event
扩展依赖于libevent
,首先安装。
[root]# wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
[root]# tar -zxvf libevent-2.1.8-stable.tar.gz && cd libevent-2.1.8-stable
[root]# ./configure --prefix=/usr/local/libevent-2.1.8
[root]# make && make install
2. 安装sockets扩展
第一次安装event
时提示我需要先安装sockets
扩展,还有这茬… 那就先装吧
[root]# cd ~/Setup/php-5.6.29/etc/sockets #php源码目录
[root]# /usr/local/php/bin/phpize #准备编译环境 生成配置文件
[root]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root]# make && make install
然后在/usr/local/php/etc/php.ini
中相应位置添加extension=sockets.so
,
重启php-fpm
[root]# killall php-fpm
[root]# /usr/local/php/sbin/php-fpm
检查扩展已经加载:
[root]# php-m|grep sockets
显示“sockets”,说明已经加载。
3. 安装event扩展
PHP源码中是不包含event扩展的,我们去pecl下载。
[root]# wget http://pecl.php.net/get/event-2.4.2.tgz
[root]# tar -zxvf event-2.4.2.tgz && cd event-2.4.2
[root]# /usr/local/php/bin/phpize
[root]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/
[root]# make && make install
同样重启php-fpm,检查加载成功。