PHP如何安装Libevent扩展

醉折花枝作酒筹
发布: 2023-03-11 06:24:01
转载
1932 人浏览过

libevent是一个事件触发的网络库,适用于windows、linux、freebsd等多种平台,内部使用select、poll、epoll、kqueue等系统调用管理事件机制。下面就和小编一起了解下如何安装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]。

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

  •  connection input  fork a new process

  •  connection input  pthread_create

  • 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视频教程

以上是PHP如何安装Libevent扩展的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:imooc.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板