首頁  >  文章  >  php框架  >  Think-Swoole教程之安裝

Think-Swoole教程之安裝

藏色散人
藏色散人轉載
2020-09-14 09:27:364014瀏覽

Swoole 是 PHP 的一個擴展,因此安裝 Swoole 本質上就是安裝一個 PHP 擴充功能。 Swoole 僅支援 Linux、FreeBSD、MacOS 三種作業系統。

推薦教學:《thinkphp》《swoole教學

安裝準備

安裝前必須確保系統已經安裝了下列軟體

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 目錄中,執行phpize 指令,若指令沒有加入環境變數的話,可以執行絕對路徑

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

由於我的電腦上存在多個PHP版本,所以我指定了現在使用的版本來執行命令。

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

4、執行指令:

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

特定路徑依實際情況修改。

5、執行指令:

make && make install

成功後,會出現安裝的位址,例如我的位址是:

/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 集成環境的話,除了修改上述php.ini 文件,還需要修改集成環境動態配置的php.ini 文件,可在面板php 選項中點選版本後的箭頭,或File -> Edit Template -> PHP -> PHP 7.xx -> php.ini 進行修改。

7、安裝完成,執行指令:

php -m

看清單中是否有 swoole 模組,若有則安裝成功。

執行 php --ri swoole 指令,可查看 swoole 相關資訊。

8、測試

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

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

裡面有個echo.php 文件,打開後看到有一行程式碼:

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

意思是監聽所有IP ,連接埠號碼為9501。

在命令列中,輸入命令:

php echo.php

若命令在執行中,沒有遊標,也不報錯,那麼新建命令窗口,並輸入如下命令:

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

可以看到這個進程已經在執行中了,並且有pid 進程號,測試成功!

在 ThinkPHP 框架中安裝 Think-Swoole 擴充功能

PHP 擴充功能安裝好之後,就要在框架中安裝擴充功能了。

首先,我們要先下載好ThinkPHP 框架(Think-Swoole 擴充功能目前支援ThinkPHP 5.1 和ThinkPHP 6,為了示範一些新功能,後面文章將會使用最新的ThinkPHP 6 框架),然後到框架根目錄下執行Think-Swoole 的安裝指令:

ThinkPHP 5.1 安裝指令

ThinkPHP 6 安裝指令

安裝完成後,執行指令:

php think swoole

若看到下圖提示,則外掛程式可以正常使用:

Think-Swoole教程之安裝

錯誤一:

我安裝好執行上述指令的時候報錯了,查看報錯提示,發現是不能使用Xdebug 這個插件,關閉就可以了。 MAMP 環境下,在 php 選項內可直接關閉。

錯誤二:

[Swoole\Exception]
failed to listen server port[127.0.0.1:80], Error: Permission denied[13]

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

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

Think-Swoole教程之安裝

##################################################################都也表明, Swoole 自備HTTP Server,幫我們開啟了一個http 服務,作用等效於Apache 和Nginx。 ######至此,Think-Swoole 外掛程式安裝完成。 ###

以上是Think-Swoole教程之安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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