首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
关于Hyperf框架websocket连接建立报错的疑问
### 问题描述 因想体验下hyperf的websocket功能,故照着官方文档(https://hyperf.wiki/#/zh-cn/websocket-server) copy了一下代码,结果在浏览器客户端建立连接时后台日志报错,显示如下: PHP Fatal error: Uncaught TypeError: Argument 2 passed to Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler::handle() must implement interface Psr\Http\Message\ResponseInterface, null given, called in /home/web/hyperf-skeleton/vendor/hyperf/exception-handler/src/ExceptionHandlerDispatcher.php on line 60 and defined in /home/web/hyperf-skeleton/vendor/hyperf/websocket-server/src/Exception/Handler/WebSocketExceptionHandler.php:39 大致意思是Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler 类下的handle方法第二个参数传入了null 即 Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler->handle(Object(Error), NULL) 因这个错误报的我毫无头绪,故想询问一下 ### Swoole版本,PHP版本,以及操作系统版本信息 PHP 7.3.12 swoole 4.5.0-alpha ### 实际看到的错误信息又是什么? [INFO] TaskWorker#5 started. [INFO] TaskWorker#6 started. [INFO] TaskWorker#7 started. [INFO] TaskWorker#8 started. [INFO] Worker#0 started. [INFO] WebSocket Server listening at 0.0.0.0:9502 [INFO] HTTP Server listening at 0.0.0.0:9501 [INFO] TaskWorker#1 started. [INFO] TaskWorker#3 started. [INFO] TaskWorker#4 started. [INFO] TaskWorker#2 started. PHP Fatal error: Uncaught TypeError: Argument 2 passed to Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler::handle() must implement interface Psr\Http\Message\ResponseInterface, null given, called in /home/web/hyperf-skeleton/vendor/hyperf/exception-handler/src/ExceptionHandlerDispatcher.php on line 60 and defined in /home/web/hyperf-skeleton/vendor/hyperf/websocket-server/src/Exception/Handler/WebSocketExceptionHandler.php:39
发布于4年前 · 26 次浏览 · 来自
提问
温岭林黛玉
### 问题描述 因想体验下hyperf的websocket功能,故照着官方文档(https://hyperf.wiki/#/zh-cn/websocket-server) copy了一下代码,结果在浏览器客户端建立连接时后台日志报错,显示如下: PHP Fatal error: Uncaught TypeError: Argument 2 passed to Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler::handle() must implement interface Psr\Http\Message\ResponseInterface, null given, called in /home/web/hyperf-skeleton/vendor/hyperf/exception-handler/src/ExceptionHandlerDispatcher.php on line 60 and defined in /home/web/hyperf-skeleton/vendor/hyperf/websocket-server/src/Exception/Handler/WebSocketExceptionHandler.php:39 大致意思是Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler 类下的handle方法第二个参数传入了null 即 Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler->handle(Object(Error), NULL) 因这个错误报的我毫无头绪,故想询问一下 ### Swoole版本,PHP版本,以及操作系统版本信息 PHP 7.3.12 swoole 4.5.0-alpha ### 实际看到的错误信息又是什么? [INFO] TaskWorker#5 started. [INFO] TaskWorker#6 started. [INFO] TaskWorker#7 started. [INFO] TaskWorker#8 started. [INFO] Worker#0 started. [INFO] WebSocket Server listening at 0.0.0.0:9502 [INFO] HTTP Server listening at 0.0.0.0:9501 [INFO] TaskWorker#1 started. [INFO] TaskWorker#3 started. [INFO] TaskWorker#4 started. [INFO] TaskWorker#2 started. PHP Fatal error: Uncaught TypeError: Argument 2 passed to Hyperf\WebSocketServer\Exception\Handler\WebSocketExceptionHandler::handle() must implement interface Psr\Http\Message\ResponseInterface, null given, called in /home/web/hyperf-skeleton/vendor/hyperf/exception-handler/src/ExceptionHandlerDispatcher.php on line 60 and defined in /home/web/hyperf-skeleton/vendor/hyperf/websocket-server/src/Exception/Handler/WebSocketExceptionHandler.php:39
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2020-05-24
温岭林黛玉
尴尬了,重新安装了一下新的hyperf框架,再按文档走,竟然就没这个错误了 ![老框架](/storage/article-column/yQNEx9np3GbkZXMXFevGMBzmGCIRkqPWC9TnpsaL.png "老框架") 重新安装后问题消息 ![重新安装后](/storage/article-column/iHoHXGKv8y5k9qvCrqVAWwBaj8whA56VoyOniAXV.png "重新安装后") 我再仔细排查排查
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。