首頁 >php框架 >Workerman >workerman無法使用怎麼辦

workerman無法使用怎麼辦

藏色散人
藏色散人原創
2019-12-18 15:17:592633瀏覽

workerman無法使用怎麼辦

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來綁定。現象3Waring 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停用項刪掉現象4PHP Warning: stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)

#失敗原因

linux下監聽埠如果小於1024,需要root權限。

解決方法

使用大於1024的連接埠或使用root使用者啟動服務。

推薦:

workerman使用教學#

以上是workerman無法使用怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn