网站首页

如何安装php7的event扩展

中文Lee 2020/04/30 2314人围观
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 扩展即可

大功告成~

相关推荐

  • [LuPHP] PHPMVC精简框架第一讲(基本MVC框架配置)

    LuPHP是一个精简版的PHPMVC框架,该框架经历了N个高可用系统的测验(数据存储量千万级别,并发1000),该框架结合了市面上流行的PHP框架,去除了臃肿的代码;本框架遵循即用即写的原则,做到项目中绝不存在多余(实际根本用不上)代码!该框架作者历经10年以上项目研发经验,总结并写出一套适合自己的...

  • PHP性能优化方案

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

  • docker下php容器 curl本机无法访问【curl: (7) Failed to connect to x.x.x.x port 80: Host is unreachable)】

    问题描述:centos 7.9 服务器上 使用docker容器部署了php环境,但是使用curl的时候 ,访问其他机器ip正常,但是curl本机ip 出现 curl: (7) Failed to connect to x.x.x.x port 80: Host is unreachable...

  • centos7通过yum安装JDK1.8

    安装之前先检查一下系统有没有自带open-jdk命令:rpm -qa |grep javarpm -qa |grep jdkrpm -qa |grep gcj如果没有输入信息表示没有安装。如果安装可以使用rpm -qa | grep java |&n...

  • centos7 docker 安装配置nginx

    第一步:docker pull nginx第二步:宿主机文件映射Nginx里的配置访问页面目录位置 /data/nginx/html主配置文件nginx.conf位置 /data/nginx/nginx.confnginx.conf文件内容###################user  ...

  • centos7 docker安装openjdk并运行jar包

    第一步:docker pull openjdk第二步:创建一个java_app的数据卷 docker volume create java_app第三步:将jar包上传到/var/lib/docker/volumes/java_app/_data/下,然后启动镜像第四步:启动docker ...

  • 11个代码质量审核和管理工具,程序员收藏

    如今,代码质量分析和审核已成为每个企业的基本流程。随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要。不良的代码不仅会影响代码的可维护性,而且还会在某些情况下影响其性能。此外,更好的代码质量还有助于企业将来减少维护和降低成本。幸运的是,有很多审核和管理代码的工具,为开发者和程序员提...

  • Scheduled 定时任务

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