swoole是一個用C寫的php擴展,實現了許多網路層的功能 (建議學習: swoole視訊教學#)
實際上身為一個PHP程式設計師,我很清楚PHP的確有很多局限性,例如Unix系統程式設計、網路通訊程式設計、非同步io,大部分PHPer不懂。 PHP界也確實沒有這樣的東西。 Swoole開源專案就是為了彌補PHP在這些方面的缺陷而誕生的。
與WordPress這些產品不同,swoole其實是一個網路通訊與非同步io的引擎,一個基礎函式庫。 PHPer可以基於swoole去實作過去PHP無法實現的功能。 swoole為PHPer打開了通往另一個世界的大門。
php現有的應用方式都是基於http的,對於需要快速即時回應的情況比較乏力,例如網路遊戲或推送服務一般都需要與使用者長期保持一個tcp連線以便即時回應和推送訊息。
swoole就是解決這樣應用場景的。
這個是讓php本身建立一個服務,不需要nginx之類的代理,直接監聽埠實現通訊。
一種應用方式也可以代替掉nginx做http服務,但一般不會這麼用。
php與外部通訊需要藉助系統的socket。
通常使用的Apache nginx就是封裝了的socket,可以實現並發處理。客戶端發送請求到nginx/apache,再轉送到fastcgi連接埠交給php處理
swoole把系統的socket整合到php底層,php可以直接透過swoole與客戶端互動。
也就是說swoole是個封裝了底層socket的網路函式庫。
php socket
swoole:定時器,長連接,訊息佇列
以上是swoole用來解決php什麼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!