如何安装php7的event扩展

最近api系统遇到了高并发的瓶颈,想通过workerman重构。在看workerman文档时发现这么一句话:

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

如果无法安装Event扩展,可以用libevent扩展代替,注意目前libevent扩展不支持php7,php7用户只能使用Event扩展。

业务的服务器是php7以上,所以不能考虑libevent了,只能安装event扩展了。

以下是我的安装步骤:

1、安装libevent库,并非libevent扩展。

到 http://libevent.org/ 官网上下载最新稳定版,也可以在命令行执行

拿到包以后解压安装即可

测试是否安装成功

提示如下则表示安装成功

1

1、安装event扩展。

到php官方下载event扩展的最新稳定包 https://pecl.php.net/package/event,也可以在命令行执行

拿到包手解压安装即可

最后提示下图则表示安装成功

2

最后在php.ini中加入

重启php-fpm即可

注意:

我在重启php-fpm的时候提示

[14-Dec-2016 10:51:25] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/event.so’ – libevent_openssl-2.0.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
<br />
<b>Warning</b>: PHP Startup: Unable to load dynamic library ‘/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/event.so’ – libevent_openssl-2.0.so.5: cannot open shared object file: No such file or directory in <b>Unknown</b> on line <b>0</b><br />
[14-Dec-2016 10:51:26] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

表示系统未找到 libevent_openssl-2.0.so.5,这时需要将 /usr/lib加入到ld.so.conf中

再次重启php-fpm即可

3

如果重启 fpm 还是报错,例如:

说明你系统中的 lib64可能存在 libevent 模块,造成冲突了,可以通过命令

来检查 lib64目录是否有 libevent 文件

如果存在文件则删除后重新编译 event 扩展即可

大功告成~

关于稚子

你们眼中的草根
此条目发表在操作系统相关分类目录,贴了, 标签。将固定链接加入收藏夹。

如何安装php7的event扩展》有一条回应

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注