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 ...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
假如确切没有顺序监听这个端口,那末多是开发者在workerman里设置了两个或两个以上的监听,而且监听的端口雷同致使,请开发者自行搜检启动剧本是不是监听了雷同的端口。
征象2
启动后报错相似以下:
PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address) in ...workerman/Worker.php on line xxxx
或许
PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxxx (在其高低文中,该要求的地点无效) in ...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监听。虽然不能用公网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用户启动效劳。
引荐:workerman运用教程
以上就是workerman 启动失利怎么办的细致内容,更多请关注ki4网别的相干文章!