使用laravels可能遇到的小小坑

前段时间学习使用 laravels 差点把心态搞蹦了,还是吃了没有仔细看文档亏,所以刚接触 laravels 的小伙伴一定要仔细看文档呀:sob:(都是血的教训)

一.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 文件 WebSocketServiceonHandShake 方法是被注释了的,你需要启用这个方法并且在方法里自定义握手,完成后重启 laravels 就大功告成啦:grin:

以上就是我使用 laravels 遇到问题,若有错误还请大佬指导:pray:,也可以说说你在使用的时候遇到的坑大家一起交流 总结一下就是仔细看文档啊朋友们

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11

Laravels 是什么?确定不是 Laravel ?

3年前 评论
xujinhuan (作者) 3年前
fanfan_hao (楼主) 3年前
xujinhuan (作者) 3年前

用了 Task::deliver 单元测试搞不了了,也是提示 Class swoole does not exist

3年前 评论

laravels WebSocket 长连接怎么做心跳重连,设置了心跳检测只是时间到了就 close,在发送消息不能链接上 websocket 了

3年前 评论

我最近做这个也是在 Target class swoole 不存在,卡了好几天。我原本以为在 nginx 的虚拟机配置的地方,增加的那个配置没用。结果在控制器往 websocket 推送数据的时候一直报错。但是 js websocket 客户端又能正常通信。真的是一段难以忘怀的经历。

2年前 评论
w0rdyyp 2年前
danguilangzi (作者) 2年前
zzb1127 1年前