首頁 >後端開發 >PHP問題 >PHP如何安裝Libevent擴充功能

PHP如何安裝Libevent擴充功能

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-06-30 15:46:041970瀏覽

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中文網其他相關文章!

陳述:
本文轉載於:imooc.com。如有侵權,請聯絡admin@php.cn刪除