Swoole是面向生產環境的 PHP 非同步網路通訊引擎,官網:https://www.swoole.com/
使 PHP 開發人員可以編寫高效能的非同步併發 TCP、UDP、Unix Socket、HTTP,WebSocket 服務。Swoole 可以廣泛應用於網際網路、行動通訊、企業軟體、雲端計算、網路遊戲、物聯網(IOT)、車聯網、智慧家居等領域。 使用 PHP + Swoole 作為網路通訊框架,可以使企業 IT 研發團隊的效率大大提升,更加專注於開發創新產品。
Swoole 使用純 C 語言編寫,提供了 PHP 語言的非同步多執行緒伺服器,非同步 TCP/UDP 網路客戶端,非同步 MySQL,非同步 Redis,資料庫連線池,AsyncTask,訊息佇列,毫秒定時器,非同步檔案讀寫,非同步DNS查詢。 Swoole內建了Http/WebSocket伺服器端/客戶端、Http2.0伺服器端。
除了非同步 IO 的支援之外,Swoole 為 PHP 多程式的模式設計了多個併發資料結構和IPC通訊機制,可以大大簡化多程式併發程式設計的工作。其中包括了併發原子計數器,併發 HashTable,Channel,Lock,程式間通訊IPC等豐富的功能特性。
Swoole2.0 支援了類似 Go 語言的協程,可以使用完全同步的程式碼實現非同步程式。PHP 程式碼無需額外增加任何關鍵詞,底層自動進行協程排程,實現非同步。
瞭解了Swoole的強大之後,我們是不是想體驗一下呢?下面來下載安裝吧~
環境:CentOS6.4+PHP7
一、下載安裝
下載頁https://gitee.com/swoole/swoole/tree/v2.1.1,下載後是一個zip包,習慣下載到/usr/local/src目錄下
# unzip swoole-src-2.1.1.zip //解壓
# cd swoole-src-2.1.1 //進入目錄
# phpize //然後使用phpize重新編譯php
# # ./configure --with-php-config=/usr/local/php/bin/php-config //進行配置
# make && make install //編譯安裝
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/ //複製此行程式碼,貼上到php.ini配置開啟擴充套件
Installing header files: /usr/local/php/include/php/
二、開啟php擴充套件
# vim /usr/local/php/etc/php.ini //將下行程式碼放入php.ini
;extension=xsl
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/swoole.so //此行程式碼
# service php-fpm restart //重啟
檢視PHPinfo
OK~