前段时间学习使用laravels差点把心态搞蹦了,还是吃了没有仔细看文档亏,所以刚接触laravels的小伙伴一定要仔细看文档呀(都是血的教训)
一.Class Swoole does not exist
说说这遇到第一个问题吧。报这个错的原因是因为Laravels中的swoole是以cli模式启动的Http_Server代替了FPM,在投递任务,触发异步时间都会调用app('swoole')
,从Laravel容器
中获取Swoole\http\server
实例。只有在LaravelS
启动时,才会注入这个实例到容器中,所以一旦脱离LaravelS
环境,就可能会报Class Swoole does not exist
,这个时候你需要检查你的Apache或者Nginx的配置文件
二.WebSocket无法连接
1.确认安全组是否放行了端口
2.确定地址是否正确,后面是否有path部分(Http和WebSocket共存Nginx通过location区分,按照文档中的配置,你需要在路径后加上/ws
)
3.以上都确认无误,按照文档步骤,还是无法连接websocket
报错为WebSocket opening handshake timed out
文档中启用WebSocket
文件WebSocketService
里onHandShake
方法是被注释了的,你需要启用这个方法并且在方法里自定义握手,完成后重启laravels就大功告成啦
以上就是我使用laravels遇到问题,若有错误还请大佬指导,也可以说说你在使用的时候遇到的坑大家一起交流 总结一下就是仔细看文档啊朋友们