workerman无法socket怎么办

发布时间 - 2019-12-13 00:00:00    点击率:

workerman无法socket怎么办?

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、手游服务端、网络游戏服务器、聊天室服务器、硬件通讯服务器、智能家居、车联网、物联网等领域的开发。但是在配置workerman情况下,不免有些意想不到的错误,下面小编整理网上资料并整合自身遇到的问题,给出以下几种常用的解决方案。

推荐:workerman教程

现象1

启动后报错类似如下:

php start.php start
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

关键字: Address already in use

失败原因:

端口被占用,无法启动。

可以通过命令netstat -anp | grep 端口号来找出哪个程序占用了端口。

然后停止对应的程序释放端口解决。

如果不能停止对应端口的程序,可以通过更换workerman的端口解决。

如果是Workerman占用的端口,又无法通过stop命令停止(一般是丢失pid文件或者主进程被开发者kill了导致),可以通过运行以下两个命令杀死Workerman进程。

killall php
ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9

现象2

启动后报错类似如下:

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

关键字:Cannot assign requested address

失败原因:

启动脚本ip参数写错,不是本机ip,请填写本机ip机或者填写 0.0.0.0(表示监听本机所有ip)即可解决。

提示:Linux系统可以通过命令 ifconfig查看本机所有网卡ip。

如果您是腾讯云用户,注意您的公网ip实际是代理服务器ip,公网ip并不属于你的服务器,所以无法通过公网ip绑定,但是可以通过0.0.0.0来绑定。

现象3

启动后报错类似如下:

Waring stream_socket_server has been disabled for security reasons in ...

失败原因:

stream_socket_server 函数被php.ini禁用

解决方法

1、运行php --ini 找到php.ini文件

2、打开php.ini找到disable_functions一项,将stream_socket_server禁用项删掉

现象4

启动后报错类似如下:

PHP Warning:  stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)

失败原因

linux下监听端口如果小于1024,需要root权限。

解决办法

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

现象5

启动后报错类似如下:

WebSocket connection to 'ws://x.x.x.x:2346/' failed: Error in connection establishment:net::ERR_NAME_NOT_TIMED_OUT

失败原因

服务器防火墙挡住了设置的端口,这里于2346为例。

解决办法

进入Linux vim编辑服务器防火墙文件,添加你需要开发的服务器端口保存后重启防火墙。

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# iptables -nvl  #查看允许访问的端口

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# vim /etc/sysconfig/iptables   #编辑

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# /etc/init.d/iptables restart  #重启


# workerman  # 可以通过  # 报错  # 本机  # 重启  # 解决办法  # 绑定  # 您的  # 您是  # 腾讯  # 住了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何创建自定义Artisan命令?(代码示例)  如何为不同团队 ID 动态生成多个非值班状态按钮  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何在IIS7中新建站点?详细步骤解析  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel如何发送系统通知?(Notification渠道示例)  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  使用Dockerfile构建java web环境  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何用虚拟主机快速搭建网站?详细步骤解析  微信推文制作网站有哪些,怎么做微信推文,急?  Laravel如何处理CORS跨域请求?(配置示例)  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  详解jQuery停止动画——stop()方法的使用  如何基于PHP生成高效IDC网络公司建站源码?  jQuery中的100个技巧汇总  详解Oracle修改字段类型方法总结  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何快速搭建高效服务器建站系统?  微信公众帐号开发教程之图文消息全攻略  如何在阿里云服务器自主搭建网站?  jQuery 常见小例汇总  如何快速生成橙子建站落地页链接?  使用C语言编写圣诞表白程序  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  Python3.6正式版新特性预览  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  JavaScript如何实现音频处理_Web Audio API如何工作?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  如何在橙子建站中快速调整背景颜色?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  如何做网站制作流程,*游戏网站怎么搭建?  EditPlus中的正则表达式实战(6)  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Bootstrap CSS布局之列表  大连网站制作公司哪家好一点,大连买房网站哪个好?