PHP如何安裝Libevent擴充功能

醉折花枝作酒筹
發布: 2023-03-11 06:24:01
轉載
1930 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板