PHP7安裝Swoole詳細(xì)教程

PHP7安裝Swoole詳細(xì)教程

環(huán)境

這里不在使用apache做為web server。該用nginx + php-fpm,性能更強大,配置更方便。并且為了跟上php的步伐,也使用了比較新的php版本

[x] centos7[x] php7.0.12[x] nginx/1.10.2[x] php-fpm

下載 swoole

首先下載swoole的源碼包,這個操作很簡單,沒有太多說的。

wget?-c?https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz

解壓:?

立即學(xué)習(xí)PHP免費學(xué)習(xí)筆記(深入)”;

tar?-zxvf?v2.0.6.tar.gz cd?swoole-src-2.0.6/

編譯&安裝

使用phpize來生成php編譯配置

./configure 來做編譯配置檢測

make進(jìn)行編譯,make install進(jìn)行安裝

命令執(zhí)行:

[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后,如果正確,會出現(xiàn)以下內(nèi)容

[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 中可找到如下內(nèi)容

;;;;? ;?Note:?packaged?extension?modules?are?now?loaded?via?the?.ini?files? ;?found?in?the?directory?/etc/php.d;?these?are?loaded?by?default.? ;;;;

因此,如果你的php安裝時,如果未特殊設(shè)置,可以在/etc/php.d 目錄中,找到添加模塊的配置文件。

進(jìn)入到 cd /etc/php.d 目錄,完成相關(guān)的配置

[root@php7?swoole-src-2.0.6]#?vim?swoole.ini
;?Enable?swoole?extension?module extension=swoole.so

重啟服務(wù)

新增php模塊后,需要重新啟動服務(wù),才會生效,如果有時候restart后依然無效,請先關(guān)閉,再重新啟動。

[root@php7?swoole-src-2.0.6]#?systemctl?restart?nginx [root@php7?swoole-src-2.0.6]#?systemctl?restart?php-fpm

通過php -mphpinfo()來查看是否成功加載了swoole

swoole 代碼的自動提示

安裝好擴(kuò)展后,就是使用的問題。由于沒有代碼的提示,有時候很不方便,github上有人已經(jīng)提供了swoole代碼提示的 ide-helper 。具體設(shè)置辦法如下:

這里以: phpStorme 為例,download 代碼到本地

git?clone?git@github.com:eaglewu/swoole-ide-helper.git?ide-helper

經(jīng)過以上步驟,可以在 phpStorme 中使用swoole了。并且提供代碼提示。

簡單測試

所有的測試代碼均放在這里

請將該代碼 clone 到本地,方便觀察效果。

git?clone?git@github.com:helei112g/learn-swoole.git

本節(jié)所提供的代碼實例 demo1-serv

進(jìn)入到測試代碼目錄,

然后在服務(wù)端使用 telnet 進(jìn)行測試

首先,運行服務(wù)端的監(jiān)聽程序

php?demo1-serv.php

執(zhí)行這個命令后,服務(wù)器會顯示:

Client:?Connect.

另外開一個終端,使用 telnet 連接當(dāng)前服務(wù)端監(jiān)聽的端口,并且輸入一些文字,觀察終端的變化。

[root@php7?~]#?telnet?127.0.0.1?9999
Hi! Server:?Hi!

這里只是進(jìn)行簡單的模擬回復(fù)??蛻舳税l(fā)什么,服務(wù)器就回應(yīng)什么消息。?

退出telnet,觀察服務(wù)器會顯示什么?

直接關(guān)閉窗口,或者:

[root@php7?~]#?Ctrl+] [root@php7?~]#?telnet>?quit

此時,會在服務(wù)側(cè)看到:

Client:?Close.

PS:如果測試環(huán)境沒有安裝 telnet ,請自行g(shù)oogle安裝。

PHP中文網(wǎng),大量的免費swoole入門教程,歡迎在線學(xué)習(xí)!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享