小編給大家分享一下workerman程序調(diào)試報錯怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供望江企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、H5場景定制、小程序制作等業(yè)務(wù)。10年已為望江眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。現(xiàn)象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
關(guān)鍵字: Address already in use
失敗原因:
端口被占用,無法啟動。
可以通過命令netstat -anp | grep 端口號來找出哪個程序占用了端口。
然后停止對應(yīng)的程序釋放端口解決。
如果不能停止對應(yīng)端口的程序,可以通過更換workerman的端口解決。
如果是Workerman占用的端口,又無法通過stop命令停止(一般是丟失pid文件或者主進程被開發(fā)者kill了導(dǎo)致),可以通過運行以下兩個命令殺死Workerman進程。
killall php ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9
現(xiàn)象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
關(guān)鍵字:Cannot assign requested address
失敗原因:
啟動腳本ip參數(shù)寫錯,不是本機ip,請?zhí)顚懕緳Cip機或者填寫 0.0.0.0(表示監(jiān)聽本機所有ip)即可解決。
提示:Linux系統(tǒng)可以通過命令 ifconfig查看本機所有網(wǎng)卡ip。
如果您是騰訊云用戶,注意您的公網(wǎng)ip實際是代理服務(wù)器ip,公網(wǎng)ip并不屬于你的服務(wù)器,所以無法通過公網(wǎng)ip綁定,但是可以通過0.0.0.0來綁定。
現(xiàn)象3
Waring stream_socket_server has been disabled for security reasons in ...
失敗原因:
stream_socket_server 函數(shù)被php.ini禁用
解決方法
1、運行php --ini 找到php.ini文件
2、打開php.ini找到disable_functions一項,將stream_socket_server禁用項刪掉
現(xiàn)象4
PHP Warning: stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)
失敗原因
linux下監(jiān)聽端口如果小于1024,需要root權(quán)限。
解決辦法
使用大于1024的端口或者使用root用戶啟動服務(wù)。
以上是“workerman程序調(diào)試報錯怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!