前段時間學習使用laravels差點把心態搞蹦了,還是吃了沒有仔細看文件虧,所以剛接觸laravels的小夥伴一定要仔細看文件呀(都是血的教訓)
說說這遇到第一個問題吧。報這個錯的原因是因為Laravels中的swoole是以cli模式啟動的Http_Server代替了FPM,在投遞任務,觸發非同步時間都會呼叫app('swoole')
,從Laravel容器
中獲取Swoole\http\server
例項。只有在LaravelS
啟動時,才會注入這個例項到容器中,所以一旦脫離LaravelS
環境,就可能會報Class Swoole does not exist
,這個時候你需要檢查你的Apache或者Nginx的配置檔案
1.確認安全組是否放行了埠
2.確定地址是否正確,後面是否有path部分(Http和WebSocket共存Nginx通過location區分,按照文件中的配置,你需要在路徑後加上/ws
)
3.以上都確認無誤,按照文件步驟,還是無法連線websocket
報錯為WebSocket opening handshake timed out
文件中啟用WebSocket
檔案WebSocketService
裡onHandShake
方法是被註釋了的,你需要啟用這個方法並且在方法裡自定義握手,完成後重啟laravels就大功告成啦
以上就是我使用laravels遇到問題,若有錯誤還請大佬指導,也可以說說你在使用的時候遇到的坑大家一起交流 總結一下就是仔細看文件啊朋友們
本作品採用《CC 協議》,轉載必須註明作者和本文連結