网站首页

如何安装php7的event扩展

中文Lee 2020/04/30 3685人围观
PHP  

最近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 扩展即可

大功告成~

相关推荐

  • Scheduled 定时任务

    Scheduled 定时任务1 cron表达式指定定时器执行时间// 固定每天1点执行,无论上一次执行完没有,到时间会再执行。@Scheduled(cron = "0 0 1/1 * ?")//每一个小时执行一次@Scheduled(cron = "0 0 * * * ?") //每天上午...

  • 常用PHP框架有哪些?[PHP框架排行TOP7]

    PHP是一种国内外流行的开源服务器端脚本开发语言。能适应大、中、小型项目的发展需要。PHP框架的真正开发始于PHP5。事实上,PHP4时代也有一些框架,但是由于使用的复杂性,没有一个纯粹的PHP易于使用,所以在PHP5才有很大的发展。随着PHP5面向对象功能的实现。基PHP的产品越来越多。在PHP开...

  • Linux内核调优(大并发场景下)

    为了让系统能够支持更大的并发,除了必须安装event扩展(或libevent扩展)之外,优化linux内核也是重中之重,以下优化每一项都非常非常重要,请务必按逐一完成。打开文件 /etc/sysctl.conf,增加以下设置#该参数设置系统的TIME_WAIT的数量,如果超过默认值则会被立即清除 ...

  • 一款超级好用的驾校预约系统-公众号预约系统【驾校预约系统】

    “驾校教练微信预约系统”可用于“驾校微信预约系统”、“教练微信预约系统”,其主要预约对象是学车学员,学员可依据教练信息、自身空闲时间合理选择预约时间,及时掌握学车学时。本系统一共包含三个端(学员端/教练端/管理端):1、学员在线预约教练(可单笔支付,可购买课时);2、教练收到预约推送,教练可以自由开...

  • centos上libreoffice+unoconv安装步骤,实现word转pdf(可以php读取pdf页码)

    php读取docx页码比较难操作,并且读取doc格式的页码数更难搞了,所以先将doc/docx/pptx/ppt 先转换为pdf,然后通过pdf读取页码就比较精确了一、libreoffice安装1、yum search  libreoffice查询一下系统自带的安装包安装libreoffi...

  • .htaccess文件设置某目录下所有文件禁止访问

    如网站,有些目录下的文件不允许被下载则需要设置.htaccess文件为了减少服务器压力:应将apache配置文件<Directory />    AllowOverride All</Directory> 最好修改成指定目录: <...

  • html js 前端下载文件并且给文件重命名

    今天有一个需求,甲方要求 下载的文件名为 “标题.doc”,而我数据库存储的是时间戳(123072747621318656.doc),同时我又不想修改后端代码了,想着让前端实现一下 前端下载并指定名称。下面是下载的实现代码<div onclick="downLoad()">downLoa...

  • PHP性能优化方案

    常用性能优化方案1.使用单引号替换双引号,单引号在运行的时候不检查运行引号内部的变量,执行效率是双引号的两倍;2.使用PHP内置的数组操作方法,PHP内置的数组操作方法的运行效率是自行编写代码的10倍以上;3.使用字符串函数替换正则函数,例如:使用 str_replace 替换&...