首页 > php框架 > Workerman > 正文

workerman连接报错怎么办

爱喝马黛茶的安东尼
发布: 2019-12-12 10:01:39
原创
2760 人浏览过

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用户启动服务。

PHP中文网,有大量免费的workerman入门教程,欢迎大家学习!

以上是workerman连接报错怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板