这篇文章主要介绍workerman无法套接字的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强> workerman无法套接字怎么办? 强>
<强> workerman 强>是一款纯PHP开发的开源高性能的PHP插座服务器框架。被广泛的用于手机应用,手游服务端,网络游戏服务器,聊天室服务器,硬件通讯服务器,智能家居,车联网,物联网等领域的开发。但是在配置workerman情况下,不免有些意想不到的错误、下面小编整理网上资料并整合自身遇到的问题,给出以下几种常用的解决方案。
<强>现象1 强>
启动后报错类似如下:
php start.php 开始 PHP 警告:,,stream_socket_server ():, unable 用connect 用tcp://xx.xx.xx.xx: xxxx (Address already 使用)拷贝,拷贝/home/workerman-chat/Workerman/Worker.php 提醒line xxxx
关键字:地址已经在使用
失败原因:
端口被占用,无法启动。
可以通过命令netstat anp | grep端口号来找出哪个程序占用了端口。
然后停止对应的程序释放端口解决。
如果不能停止对应端口的程序,可以通过更换Workerman的端口解决。
如果是Workerman占用的端口,又无法通过停止命令停止(一般是丢失pid文件或者主进程被开发者杀死了导致),可以通过运行以下两个命令杀死Workerman进程。
killall php ps 辅助| grep WorkerMan | awk & # 39; {print $ 2} & # 39; | xargs kill 9
<强>现象2 强>
启动后报错类似如下:
PHP 警告:,,stream_socket_server ():, unable 用connect 用tcp://xx.xx.xx.xx: xxx (Cannot assign requested 地址),拷贝/home/GatewayWorker WorkerMan/Worker.php 提醒line xxxx
关键字:不能分配请求地址
失败原因:
启动脚本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 拷贝……
失败原因:
stream_socket_server函数被php。ini禁用
解决方法
1,运行php——ini找到php . ini文件
2,打开php。ini找到disable_functions一项,将stream_socket_server禁用项删掉
<强>现象4 强>
启动后报错类似如下:
PHP 警告:,,stream_socket_server ():, unable 用connect 用tcp://0.0.0.0: xxx (Permission 否认)
失败原因
linux下监听端口如果小于1024年,需要根权限。
解决办法
使用大于1024的端口或者使用根用户启动服务。
<强>现象5 强>
启动后报错类似如下:
WebSocket connection 用& # 39;ws://x.x.x.x: 2346/& # 39;,失败:,Error 拷贝connection 建立: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重启,#重启
以上是“workerman无法套接字的解决方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!