PHP中Libevent扩展有什么用-创新互联

这篇文章主要为大家展示了“PHP中Libevent 扩展有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP中Libevent 扩展有什么用”这篇文章吧。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、淮阴网站维护、网站推广。

1、 libevent介绍

libevent是一个事件触发的网络库,适用于windows、linux、freebsd等多种平台,内部使用select、poll、epoll、kqueue等系统调用管理事件机制。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 n个worker。master process 得到请求后,处理信息发送给worker程序 、worker处理完后回传给client。Master 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

安装成功

以上是“PHP中Libevent 扩展有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:PHP中Libevent扩展有什么用-创新互联
本文链接:http://myzitong.com/article/csieds.html