CentOS PHP7.x安装event扩展

最近需要用到event扩展,我的环境是centos7
一开始我尝试使用最简单的pecl命令来安装,结果安装失败。

后面开始网上找资料,首先感谢这篇文章的作者
https://blog.csdn.net/dawnsmile113/article/details/83108754

安装步骤开始
1.首先安装libevent-devel包(并非扩展)

yum install libevent-devel -y

2.下载编译安装libevent(由于系统上是安装的php7,没能找到可用的包,pecl上也没找到,所以我们编译安装libevent)

wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
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

3.安装event

wget -c http://pecl.php.net/get/event-2.3.0.tgz
tar -zxvf event-2.3.0.tgz && cd event-2.3.0
# 我看之前那篇文章是使用的根路径,由于我的PHP环境路径可能和他的不同,所以我就没使用绝对路径,如果执行这命令时提示错误,请使用根路径,可用使用 find / -name phpize 查找
phpize
# 这里注意了,--with-php-config参数请替换成你环境的路径,可用使用 find / -name php-config 查找
./configure --with-php-config=/usr/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/
make && make install

此时执行完上面的命令,event.so已经在电脑上了。但是没有放到php.ini文件中。由于环境不同可能放到php.ini的方法不同。
比如我的PHP文件在 /etc/php.ini(可以使用php --ini查找PHP的配置文件),php.ini文件中就没有extension=xxx什么的
然后发现在 /etc/php.d/ 目录下有很多xxx.ini 文件,名称和其他库很像,之前那篇文章有说明,需要把event扩展按顺序放在sockets后面才行。确实如此,不信可以试下。然后我就打开sockets.ini文件,再后面添加了一句extension=event就可以了。
执行 php -m | grep event ,就能找到event,表示已经成功加载。

添加新评论