Think-Swoole教程之安裝
Swoole 是 PHP 的一個擴展,因此安裝 Swoole 本質上就是安裝一個 PHP 擴充功能。 Swoole 僅支援 Linux、FreeBSD、MacOS 三種作業系統。
安裝準備
安裝前必須確保系統已經安裝了下列軟體
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
若看到下圖提示,則外掛程式可以正常使用:
錯誤一:
我安裝好執行上述指令的時候報錯了,查看報錯提示,發現是不能使用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教程之安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

TP6Think-SwooleRPC服務的效能最佳化與調試一、引言隨著網際網路的快速發展,分散式運算已成為了現代軟體開發中不可或缺的一部分。在分散式運算中,RPC(RemoteProcedureCall,遠端過程呼叫)是一種常用的通訊機制,透過它可以實現跨網路的方法呼叫。 Think-Swoole作為一個高效能的PHP框架,可以很好地支援RPC服務。但是

TP6(ThinkPHP6)是一款基於PHP的開源框架,具有高可擴展性與分散式部署的特性。本文將介紹如何使用TP6配合Swoole擴展,建構一個具備高可擴展性的RPC服務,並給予具體的程式碼範例。首先,我們需要安裝TP6和Swoole擴充。在命令列中執行以下命令:composerrequiretopthink/thinkpeclinstallswo

TP6Think-SwooleRPC服務的資料加密與身份認證機制隨著互聯網的快速發展,越來越多的應用程式需要進行遠端調用,以實現不同模組之間的資料互動和功能調用。在這樣的背景下,RPC(RemoteProcedureCall)就成了一種重要的溝通方式。 TP6Think-Swoole框架可以實現高效能的RPC服務,本文將介紹如何透過資料加密與身分認證

TP6Think-SwooleRPC服務的高並發請求處理與調度隨著互聯網技術的不斷發展,網路應用的並發請求處理和調度成為了一個重要的挑戰。在TP6框架中,使用Think-Swoole擴充功能可以實現RPC(RemoteProcedureCall)服務的高並發請求處理與調度。本文將介紹如何在TP6框架中建構一個基於Think-Swoole的RPC服務,並提

TP6Think-Swoole的RPC服務與訊息佇列的整合與應用在現代軟體開發中,RPC服務(RemoteProcedureCall)和訊息佇列是常見的技術手段,用於實現分散式系統中的服務呼叫與非同步訊息處理。在TP6框架中整合Think-Swoole元件,可輕鬆實現RPC服務和訊息佇列的功能,並且提供了簡潔的程式碼範例,方便開發者理解和應用。一、RPC

TP6Think-SwooleRPC服務的安全防護與授權驗證隨著雲端運算和微服務的興起,遠端過程呼叫(RPC)成為了開發者們日常工作中不可或缺的一部分。在開發RPC服務時,安全防護和授權驗證是非常重要的,以確保只有合法的請求可以存取和呼叫服務。本文將介紹如何在TP6Think-Swoole框架中實現RPC服務的安全防護與授權驗證。一、RPC服務的基本概念

TP6Think-Swoole建構的RPC服務與微服務架構實務案例引言:隨著網際網路的快速發展以及業務規模的擴大,傳統的單體架構無法滿足大規模業務場景的需求。因此,微服務架構應運而生。在微服務架構中,RPC(RemoteProcedureCall)服務是實現服務間通訊的一種重要方式。透過RPC服務,各個微服務之間可以方便、有效率地互相呼叫。在本篇文章中

TP6Think-SwooleRPC服務的效能測試與效能調優一、引言隨著網際網路的高速發展,分散式系統的應用越來越廣泛。而在分散式系統中,RPC(遠端過程調用)是一種常見的通訊機制,它可以讓不同節點的服務相互調用,實現分散式系統的協同工作。在TP6框架中,Think-Swoole作為一種高效能的Swoole驅動,提供了方便的RPC服務支援。本文主要介紹了T
