Laravel broadcast 踩雷記
在一個功能裡有頻繁需要知道執行的狀態,並更新頁面的動作,因此找到了websocket的解決方案,來替代Ajax,結果一路踩雷,在這邊紀錄一下:
broadcast環境設置參考,就不再贅述:
https://blog.csdn.net/nsrainbow/article/details/80428769
broadcast環境設置參考,就不再贅述:
https://blog.csdn.net/nsrainbow/article/details/80428769
1.啟動laravel-echo-server後,env已經設定使用redis,卻沒有接收到廣播
QUEUE_DRIVER=redis
反覆測試發現廣播都進入到laravel.log中,因此清理環境變數後,就正常了php artisan config:cache php artisan config:clear
2.啟動laravel-echo-server後,已經加入socket.io,卻沒有登入訊息
可能是socket.io的bug,將npm的版本設定在2.3.0版,就可以看到登入訊息了npm install --save-dev socket.io-client@2.3.0
3.在前端console一直看到
/socket.io/?EIO=3&transport=*&t=*&sid=* 403的錯誤訊息伺服器的 port 6001沒有開如果還是無效,應該要去檢查伺服器商或是router的設定sudo ufw allow 3306
留言
張貼留言