首页 > 其他分享 >盘点Gateway-Worker启动的九种报错和解决方法

盘点Gateway-Worker启动的九种报错和解决方法

时间:2024-01-15 19:57:12浏览次数:35  
标签:php socket 0.0 Worker xx 报错 ip PHP Gateway

Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。

环境

1. CentOS 7.0

2.ThinkPHP 5.1

3.Workman 3.5.20

问题

1. ThinkPHP5.1以后,不能将vendor中的包(workman也在其中)复制后直接使用里面的类,在项目刚搭建的时候可以将需要的包写在composer.json中后composer install,或者composer require flc/dysms 等。

2. workman安装成功,基本的业务功能也写完了,进入服务器找到项目的根目录,输入 php think worker:gateway -d,或者 php think worker:gateway start。

3. 可能启动成功,输入 php think worker:gateway status 查看进程的信息。

4. 服务端成功后,上面"websocket://0.0.0.0:9502“ 在客户端如果连接出现 ”WebSocket connection to 'ws://x.x.x.x:2346/' failed: Error in connection establishment:net::ERR_NAME_NOT_TIMED_OUT“,表示防火墙拦住了设置的端口。

方法:如果CentOS安装了宝塔面板,安全->添加端口->放行。如果使用命令添加,最后 firewall-cmd reload 命令重启防火墙即可。

5. 启动成功,客户端通过websocket连接也没有报错,但就是发送消息过来,后端的Events中OnMessage事件一直接收不到消息。问题就有可能就是Events文件中有语法错误或者什么异常。

方法:去vendor文件夹中找到workman的workman.log,查看错误的地方在哪里再修改即可解决。

 

6. 如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxxx (Address already in use) in /home/workerman-chat/Workerman/Worker.php on line xxxx

方法:通过命令netstat -anp | grep 端口号来找出哪个程序占用了端口,然后关闭对应程序释放端口。

 

7. 如果启动后出现Waring stream_socket_server has been disabled for security reasons in ...

方法:找到运行的PHP版本的php.ini ,禁用函数stream_socket_server去除,宝塔操作如下。

8. 如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)

方法:使用大于1024的端口或者使用root用户启动服务。

 

9. PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address) in /home/GatewayWorker/Workerman/Worker.php on line xxxx

方法:启动脚本ip参数写错,不是本机ip,请填写本机ip机或者填写 0.0.0.0(表示监听本机所有ip)即可解决。提示:Linux系统可以通过命令 ifconfig查看本机所有网卡ip。如果您是腾讯云用户,注意您的公网ip实际是代理服务器ip,公网ip并不属于你的服务器,所以无法通过公网ip绑定,但是可以通过0.0.0.0来绑定。

标签:php,socket,0.0,Worker,xx,报错,ip,PHP,Gateway
From: https://www.cnblogs.com/my2018/p/17966181

相关文章

  • 盘点一个Python发票识别报错问题的处理案例
    大家好,我是皮皮。一、前言前几天在Python免费交流群【PJW】问了一个Python发票识别报错的问题,下图是他的报错截图,但是他自己看不出来哪里有问题,百度方面其实一问应该也有答案的,可是他就是有些找不到,然后找群里的好心人求助。后来【果冻和布丁】有GPT,找他帮忙问了一圈。二、实......
  • npm 安装cnpm 设置淘宝镜像报错 4048
    npmERR!codeEPERMnpmERR!syscallrenamenpmERR!pathD:\programfiles\nodejs\node_global\node_modules\cnpm\node_modules\npm\node_modules.node-gyp.DELETE\node_modules@npmclinpmERR!destD:\programfiles\nodejs\node_global\node_modules\cnp......
  • mvc5接口报错:The JSON request was too large to be deserialized的一种原因
    是mvc5版本的接口,接口使用了dynamic接收数组,json对象数组只有56个,length长度不到10万,但是提交就报TheJSONrequestwastoolargetobedeserialized这个错。在.netcore中,dynamic是不需要前端把字段用stringfy序列化为字符串的就能处理的。但是mvc5如果不在前端把dynamic接收......
  • `git push` 报错:error: remote unpack failed: unable to create temporary object di
    祸首:wsl:检测到localhost代理配置,但未镜像到WSL。NAT模式下的WSL不支持localhost代理;修改:NAT改镜像问题1:在自己的服务器上新建git仓库时,推送就一直报错;最开始一直推送失败,怀疑是WSL的网关由NAT改为镜像了......
  • MySQL修改安全策略时报错:ERROR 1193 (HY000): Unknown system variable ‘validate_pa
    我使用的版本是MySQL5.73,环境是LinuxCentOS7,其他版本不知道是否可行,望谅解。当我们想设置简单的密码的时候,看了别人发的如何修改安全策略的代码,如下:setglobalvalidate_password_policy=0;setglobalvalidate_password_length=1;但是当我们使用的时候,却报了这样一个......
  • Vue项目下载依赖报错
    报错内容如下:npmERR!codeEPERMnpmERR!syscallopennpmERR!pathE:\nodejs\node_cache\_cacache\index-v5\2d\c6\f5749b7a403adaf0e2e39df42469722a24d2da8b573c676c602475e083denpmERR!errno-4048npmERR!Error:EPERM:operationnotpermitted,open�......
  • 安装npm install报错npm ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! net
    执行命令:npmrundev启动前端项目报如下错误,vue-cli-service是Vue一个启动的插件,需要安装D:\nodejs\npm.cmdrundev>[email protected]>vue-cli-serviceserve--open'vue-cli-service'不是内部或外部命令,也不是可运行的程序或批处理文件。Processfinishedwithe......
  • RK3568 学习笔记 : 解决 linux_sdk 编译 python 版本报错问题
    前言最近买了【正点原子】的RK3568开发板,下载了开发板的资料,包括LinuxSDK,这个LinuxSDK占用的空间比较大,扩展了一下VM虚拟机ubuntu20.04的硬盘空间,编译才正常通过。编译RK3568LinuxSDK时,遇到python版本的问题,这里做个记录【正点原子】rk3568开发板资料与Lin......
  • ubuntu之apt-get updata报错
    在ubuntu16中,当我们输入sudoapt-getupdate会失败可能是网络不好,更多的是源不好输入下面命令,增加一些源sudovim/etc/apt/sources.list把下面的内容复制到开头restricteddeb-srchttp://archive.ubuntu.com/ubuntuxenialmainrestricted#Addedbysoftware-propertiesdebht......
  • Modelsim add to schemetic报错及解决
    Overview类似于Modelsim这样的软件,可以综合出RTL的实际逻辑电路,因此对于了解RTL到底层电路的映射是十分方便的。Addtoschemetic最近想用schemetic看一下不等于!=这个运算符会综合出怎样的电路逻辑,因此用Modelsim跑了一个简单的demo,但在将测试代码加入schemetic时报错。 关......