Think-Swoole教程之安裝

swoolephp 的一個擴展,因此安裝 swoole 本質(zhì)上就是安裝一個 php 擴展。swoole 僅支持 linux、freebsd、macos 三種操作系統(tǒng)。

推薦教程:《thinkphp》《thinkphp

安裝準備

安裝前必須保證系統(tǒng)已經(jīng)安裝了下列軟件

php-7.1?或更高版本 gcc-4.8?或更高版本 make autoconf

一般情況下前三個都已安裝,需要安裝 autoconf 這個工具。

Linux:yum?install?autoconf Mac:brew?install?autoconf

安裝 PHP 的 Swoole 擴展

1、下載 Swoole

下載地址:https://github.com/swoole/swoole-src/releases

一般情況下,下載最新版本即可。

2、解壓到 PHP 擴展目錄中,例如我的解壓路徑是:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/

解壓出來的目錄可以命名為 swoole 。

3、進入到解壓的 swoole 目錄中,執(zhí)行 phpize 命令,若該命令沒有添加到環(huán)境變量的話,可以執(zhí)行絕對路徑

sudo?/Applications/MAMP/bin/php/php7.2.10/bin/phpize

由于我的電腦上存在多個 PHP 版本,所以我指定了現(xiàn)在使用的版本來執(zhí)行命令。

命令路徑:/php安裝目錄/bin/phpize

4、執(zhí)行命令:

./configure?--with-php-config=/Applications/MAMP/bin/php/php7.2.10/bin/php-config?--enable-openss?--enable-http2

具體路徑根據(jù)實際情況修改。

5、執(zhí)行命令:

make?&&?make?install

成功后,會出現(xiàn)安裝的地址,例如我的地址是:

/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/

進入這個目錄,看里面是否有 swoole.so 。

6、在 php.ini 中添加 swoole 擴展。

一定要選擇當前使用的 PHP 版本配置文件,可以使用 php –ini 命令查看。我的是在:

/Applications/MAMP/bin/php/php7.2.10/conf/php.ini

打開 php.ini 文件,添加擴展:

extension=”/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/swoole.so”

如果使用 MAMP 集成環(huán)境的話,除了修改上述 php.ini 文件,還需要修改集成環(huán)境動態(tài)配置的 php.ini 文件,可在面板 php 選項中點擊版本后的箭頭,或者 File -> Edit Template -> PHP -> PHP 7.xx -> php.ini 進行修改。

7、安裝完成,執(zhí)行命令:

php?-m

看列表中是否有 swoole 模塊,若有則安裝成功。

執(zhí)行 php –ri swoole 命令,可查看 swoole 相關信息。

8、測試

進入到下面的路徑,具體根據(jù)實際修改:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/swoole/examples/server

里面有個 echo.php 文件,打開后看到有一行代碼:

$serv?=?new?swoole_server("0.0.0.0",?9501);

意思是監(jiān)聽所有 IP ,端口號為9501。

在命令行中,輸入命令:

php?echo.php

若命令在執(zhí)行中,沒有光標,也不報錯,那么新建命令窗口,并輸入如下命令:

Linux: netstat?-anp?|?grep?9501 Mac: ps?-ef?|?grep?9501

可以看到這個進程已經(jīng)在執(zhí)行中了,并且有 pid 進程號,測試成功!

thinkphp 框架中安裝 Think-Swoole 擴展

PHP 擴展安裝好之后,就要在框架中安裝擴展了。

首先,我們要先下載好 ThinkPHP 框架(Think-Swoole 擴展目前支持ThinkPHP 5.1 和 ThinkPHP 6,為了演示一些新功能,后面文章中將會使用最新的 ThinkPHP 6 框架),然后到框架根目錄下執(zhí)行 Think-Swoole 的安裝命令:

ThinkPHP 5.1 安裝命令

ThinkPHP 6 安裝命令

安裝完成后,執(zhí)行命令:

php?think?swoole

若看到下圖提示,則插件可以正常使用:

Think-Swoole教程之安裝

錯誤一:

我安裝好執(zhí)行上述命令的時候報錯了,查看報錯提示,發(fā)現(xiàn)是不能使用 Xdebug 這個插件,關閉就可以了。MAMP 環(huán)境下,在 php 選項里可直接關閉。

錯誤二:

[SwooleException] failed?to?listen?server?port[127.0.0.1:80],?Error:?Permission?denied[13]

打開 app/config/swoole.php ,可以看到 port 對應的是 80 端口,因為 Linux 和 Mac 中,1024 及以下端口只有超級管理員有使用權(quán)限,因此可將端口改為 9501 即可( host 默認是 127.0.0.1 ,代表監(jiān)聽本地地址,這里順便更改為 0.0.0.0 ,表示監(jiān)聽所有地址)。

swoole 服務開啟后,來測試一下,瀏覽器中輸入 127.0.0.1:9501 ,則可以正常訪問:

Think-Swoole教程之安裝

同時這也表明,Swoole 自帶 HTTP Server,幫我們打開了一個 http 服務,作用等效于 apachenginx

至此,Think-Swoole 插件安裝完成。

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