workerman無法socket的解決方法-創(chuàng)新互聯(lián)

這篇文章主要介紹workerman無法socket的解決方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

10年積累的成都網站制作、成都網站設計、外貿營銷網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站后付款的網站建設流程,更有巴楚免費網站建設讓你可以放心的選擇與我們合作。

workerman無法socket怎么辦?

Workerman是一款純PHP開發(fā)的開源高性能的PHP socket 服務器框架。被廣泛的用于手機app、手游服務端、網絡游戲服務器、聊天室服務器、硬件通訊服務器、智能家居、車聯(lián)網、物聯(lián)網等領域的開發(fā)。但是在配置workerman情況下,不免有些意想不到的錯誤,下面小編整理網上資料并整合自身遇到的問題,給出以下幾種常用的解決方案。

現(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

關鍵字: Address already in use

失敗原因:

端口被占用,無法啟動。

可以通過命令netstat -anp | grep 端口號來找出哪個程序占用了端口。

然后停止對應的程序釋放端口解決。

如果不能停止對應端口的程序,可以通過更換workerman的端口解決。

如果是Workerman占用的端口,又無法通過stop命令停止(一般是丟失pid文件或者主進程被開發(fā)者kill了導致),可以通過運行以下兩個命令殺死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

關鍵字:Cannot assign requested address

失敗原因:

啟動腳本ip參數(shù)寫錯,不是本機ip,請?zhí)顚懕緳Cip機或者填寫 0.0.0.0(表示監(jiān)聽本機所有ip)即可解決。

提示:Linux系統(tǒng)可以通過命令 ifconfig查看本機所有網卡ip。

如果您是騰訊云用戶,注意您的公網ip實際是代理服務器ip,公網ip并不屬于你的服務器,所以無法通過公網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權限。

解決辦法

使用大于1024的端口或者使用root用戶啟動服務。

現(xiàn)象5

啟動后報錯類似如下:

WebSocket connection to 'ws://x.x.x.x:2346/' failed: Error in connection establishment:net::ERR_NAME_NOT_TIMED_OUT

失敗原因

服務器防火墻擋住了設置的端口,這里于2346為例。

解決辦法

進入Linux vim編輯服務器防火墻文件,添加你需要開發(fā)的服務器端口保存后重啟防火墻。

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# iptables -nvl  #查看允許訪問的端口

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# vim /etc/sysconfig/iptables   #編輯

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# /etc/init.d/iptables restart  #重啟

workerman無法socket的解決方法

以上是“workerman無法socket的解決方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網站欄目:workerman無法socket的解決方法-創(chuàng)新互聯(lián)
網址分享:http://bm7419.com/article42/dgojhc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站排名網站設計、網站設計公司網站收錄、自適應網站網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化