Heim >PHP-Framework >Workerman >Was tun, wenn ein Workerman-Verbindungsfehler auftritt?

Was tun, wenn ein Workerman-Verbindungsfehler auftritt?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-12-12 10:00:582815Durchsuche

Was tun, wenn ein Workerman-Verbindungsfehler auftritt?

现象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入门教程,欢迎大家学习!

Das obige ist der detaillierte Inhalt vonWas tun, wenn ein Workerman-Verbindungsfehler auftritt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn