什么是Swoole
直接套用Swoole官網的介紹:PHP的異步、并行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。
Swoole官網的文檔不夠豐富啊,這比較頭疼,但大部分的問題都解釋了。如果你對Swoole很感興趣,那么看看這個Swoole入門教程。Swoole提供了多線程、長連接等很多牛逼的功能,把php上升到了一個新的臺階,具體的你可以看看入門教程,本文只限于討論Laravel和Swoole的結合。
Swoole為了提供服務,必須以CLI模式運行,什么是CLI模式呢?如果你Swoole業務代碼是寫在一個叫server.php的文件中,那么在命令行下輸入php server.php開啟。這是比較頭疼的事情,因為Laravel框架可不是這樣的運轉的,那如何能與Laravel結合呢?沒錯,自定義一條Artisan Command,就這么簡單。
強烈推薦在你的laravel項目中,使用 laravel-s
這個包.
composer require "hhxsv5/laravel-s:~1.0" -vvv
然后,依賴 kuaiapp/db
這個包,作用是實現 Swoole\Coroutine\MySQL
的偽 PDO 接口
composer require "kuaiapp/db" -vvv
給 vendor/laravel/framework
打patch
cd .//vendor/laravel/framework wget https://gist.githubusercontent.com/xiaohuilam/81ae50c1bc06180bd8e6fcbdaadba86a/raw/529cb96ca9abeed7a35076725b3b5cd8a1e04ff7/git.patch git am < git.patch
啟動laravel-s
php artisan laravels start
現在你就可以測試你的數據庫查詢了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。