PHP中Libevent 扩展有什么用
admin
2023-06-23 17:42:08
0

1、 libevent介绍

libevent是一个事件触发的网络库,适用于windowslinuxfreebsd等多种平台,内部使用selectpollepollkqueue等系统调用管理事件机制。Libevent是跨平台的,而且具有非凡的性能。与nodejs一样是事件驱动的;官方网站:http://libevent.org/

最新的稳定版本

https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz

主要模块:

事件处理框架

事件引擎模块

Buffer管理模块

信号处理模块

php本身不支持多线程,php不能很好实现并发机制。Pecl提供的pcntl(进程控制)、libevent扩展、socket包、stream系统函数,可以使用php轻易地开发出高性能,高并发的网络应用程序。

简单应用事例:Pcntl fork nworkermaster process 得到请求后,处理信息发送给worker程序 worker处理完后回传给clientMaster process 可以跟据并发量,来设定worker的数量,n的大小,并monitor(监控)worker的数据,在不足时启动更多的进程。同nginx原理。

附:Php网络编程框架

http://code.google.com/p/swoole/downloads/list

2、 为什么要学习libevent

http server可以说是libevent的经典应用。可以从libevent当中找到http的标准写法,非阻塞的http server也就是socket处理与http协议处理缠绕。

学习libevent有助于提升程序设计功力,除了网络程序设计方面外,Libevent的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等,都有助于提升自身的程序功力1

对请求的处理的三种类型:

1、  connection input  fork a new process

2、  connection input  pthread_create

3、  connection input throw a Event-based array; main process do nonblocking things;

 

3、 Php libevent 扩展模块安装

Curl –O https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz

 

Tar –zxvf libevent-2.0.16-stable.tar.gz

Cd libevent-2.0.16-stable

/usr/local/php/bin/phpize

./configure

make

make install

vi /usr/local/php/etc/php.ini

extension_dir=””;

extension=libevent.so

php –m | grep lib

安装成功

相关内容

热门资讯

伊朗军方称拦截一架美国无人机 总台记者当地时间5月28日获悉,一位军方消息人士当天证实,在伊朗布什尔附近拦截了一架入侵的美国无人机...
澳弘电子获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示澳弘电子(605058)新获得一项实用新型专利授权,专利名为“...
菲总统日本国会演说:双方关系已... 据凤凰卫视报道,菲律宾总统马科斯28日在日本国会发表演说,回顾了菲日两国关系的发展历程,并就双边合作...
李立功:以自主算力底座支撑人工... 天津北方网讯:5月28日,在2026世界智能产业博览会开幕式上,中国电子信息产业集团有限公司董事长李...
SK海力士推出集成散热HBM内... 韩国半导体巨头SK海力士宣布推出一种面向AI数据中心的新型高带宽内存(HBM),通过在内存封装内部集...
《通信世界》2026年第5期上... 《通信世界》2026年4月20日 第4期 本期专题 智能体:重塑ICT产业生态 随着人工智能与大模型...
海军黄石舰最新演练画面 近日,北部战区海军某支队黄石舰开展海上多课目实战化训练。训练全程不设脚本、临机设置险情,突出专攻精练...
美财长:特朗普不会接受“糟糕的... △美国财政部长贝森特(资料图)当地时间5月28日,美国财政部长贝森特在简报会上表示,美国与伊朗谈判团...
知情人士:伊朗方面尚未同意任何... 当地时间5月28日,伊朗谈判代表团媒体团队成员赛义德·阿加卢表示,截至目前,伊朗方面尚未同意任何谅解...
古巴外长:古美双边谈判没有取得... △古巴外交部长罗德里格斯(资料图)当地时间5月28日,古巴外交部长布鲁诺·罗德里格斯表示,古巴与美国...