Swoole是PHP中的非同步、平行、高效能網路通訊引擎,支援TCP長連接,Websocket,Mqtt等協定。廣泛用於手機app、手遊服務端、網路遊戲伺服器、聊天室、硬體通訊、智慧家庭、車聯網、物聯網等領域的開發。下面小編詳細介紹安裝過程。
好久沒更新了,不是懶呃,是太忙啦!終於偷得浮生幾日閒。
這段時間準備為大家帶來swoole的入門教程,感受一下php的nodeJs強悍之處。
所有的範例程式碼都放在了github上:learn-swoole
這裡不在使用apache做為web server。此用nginx php-fpm,效能更強大,配置更方便。而為了跟上php的步伐,也使用了比較新的php版本
[x] centos7
[x] php7.0.12
[x] nginx/1.10.2
[x] php-fpm
先下載swoole的源碼包,這個操作很簡單,沒有太多說的。
wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz 解压: tar -zxvf v2.0.6.tar.gz cd swoole-src-2.0.6/
使用phpize來產生php編譯設定
./configure 來做編譯設定偵測
make進行編譯,make install進行安裝
指令執行:
[root@php7 swoole-src-2.0.6]# phpize [root@php7 swoole-src-2.0.6]# ./configure [root@php7 swoole-src-2.0.6]# make && make install
make install後,如果正確,會出現以下內容
[root@php7 swoole-src-2.0.6]# make install Installing shared extensions: /usr/lib64/php/modules/
這表示,在/usr/lib64/ php/modules/ 目錄中,成功產生了swoole.so 檔案
要能夠使用該模組,還需要在php.ini 檔案中加入該模組。
這裡要注意,php7的模組設定檔都單獨分開了。
在php.ini 中可找到以下內容
;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;
因此,如果你的php安裝時,如果未特殊設置,可以在/etc/php.d 目錄中,找到新增模組的設定檔。
進入cd /etc/php.d 目錄,完成相關的設定
[root@php7 swoole-src-2.0.6]# vim swoole.ini ; Enable swoole extension module extension=swoole.so
[root@php7 swoole-src-2.0.6]# systemctl restart nginx [root@php7 swoole-src-2.0.6]# systemctl restart php-fpm透過php -m或phpinfo()來查看是否成功載入了swoole swoole 程式碼的自動提示安裝好擴展後,就是使用的問題。由於沒有程式碼的提示,有時很不方便,github上有人已經提供了swoole程式碼提示的 ide-helper 。具體設定方法如下:這裡以: phpStorme 為例,download 程式碼到本機
git clone git@github.com:eaglewu/swoole-ide-helper.git ide-helper依照圖片內容設定 經過以上步驟,可以在phpStorme 中使用swoole了。並提供代碼提示。 簡單測試所有的測試程式碼都放在 這裡請將程式碼 clone 到本地,方便觀察效果。
git clone git@github.com:helei112g/learn-swoole.git本節所提供的程式碼實例demo1-serv進入測試程式碼目錄,然後在服務端使用telnet 進行測試
php demo1-serv.php#執行這個指令後,伺服器會顯示:
Client: Connect.
[root@php7 ~]# telnet 127.0.0.1 9999Hi!Server: Hi!這裡只是進行簡單的模擬回覆。客戶端發什麼,伺服器就回應什麼訊息。 退出telnet,觀察伺服器會顯示什麼直接關閉窗口,或:
[root@php7 ~]# Ctrl+] [root@php7 ~]# telnet> quit此時,會在服務側看到:
Client: Close.PS:如果測試環境沒有安裝telnet ,請自行google安裝。 推薦學習:
以上是PHP7安裝Swoole的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!