国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

wokerman后臺(tái)運(yùn)行后,停止和查狀態(tài)報(bào)錯(cuò)

robin2024

問(wèn)題描述

1、在putty上直接前端啟動(dòng),php start.php start;一切正常,使用control + C 關(guān)閉也正常。
2、在putty上啟動(dòng)后臺(tái)運(yùn)行,php start.php start -D;啟動(dòng)正常,執(zhí)行php start.php status或者 stop ,都匯報(bào) 監(jiān)聽(tīng)的端口已被占用的錯(cuò)誤。
3、在前臺(tái)運(yùn)行的情況下,在woker的onmessage 中讀取msql正常。
在后臺(tái)運(yùn)行的情況下,在woker的onmessage 中讀取msql異常。
msql句柄在woker的onstart 中創(chuàng)建。

報(bào)錯(cuò)信息

stream_socket_server(): unable to connect to tcp://0.0.0.0:5678 (Address already in use)

操作系統(tǒng)及workerman/webman等框架組件具體版本

當(dāng)前環(huán)境,ubuntu18、wokerman 最新版本,php8.0,mysql3.7

1605 4 0
4個(gè)回答

walkor 打賞

根據(jù)描述2應(yīng)該是主進(jìn)程退出了,退出的原因可能是你在啟動(dòng)腳本里進(jìn)行了一些邏輯處理產(chǎn)生了錯(cuò)誤導(dǎo)致進(jìn)程退出。
不要在啟動(dòng)腳本直接寫(xiě)業(yè)務(wù)邏輯,業(yè)務(wù)邏輯放到onXXX回調(diào)里寫(xiě)。

根據(jù)描述3的現(xiàn)象來(lái)判斷,還是你在啟動(dòng)腳本里直接初始化了數(shù)據(jù)庫(kù)連接或者其他連接資源,數(shù)據(jù)庫(kù)、redis等應(yīng)該在onXX回調(diào)里初始化。啟動(dòng)腳本里直接初始化數(shù)據(jù)庫(kù)或者redis等資源,子進(jìn)程會(huì)繼承這些資源,導(dǎo)致互相收到影響。

看下workerman.log日志,日志沒(méi)有明確內(nèi)容時(shí)打開(kāi)php.ini中的error_log,看error_log的日志。
或者將業(yè)務(wù)代碼一半一半的注釋掉,直到找到問(wèn)題因?yàn)閱?wèn)題的代碼。

robin2024

1、從新在后臺(tái)運(yùn)行,看起來(lái)workerman的各進(jìn)程應(yīng)該都正常啊,

2、執(zhí)行 status查詢(xún)還是有錯(cuò)誤
PHP Warning: stream_socket_server(): Unable to connect to tcp://0.0.0.0:6569 (Address already in use) in /home/forex/forex-v3/vendor/workerman/workerman/Worker.php on line 2360

Warning: stream_socket_server(): Unable to connect to tcp://0.0.0.0:6569 (Address already in use) in /home/forex/forex-v3/vendor/workerman/workerman/Worker.php on line 2360
PHP Fatal error: Uncaught Exception: Address already in use in /home/forex/forex-v3/vendor/workerman/workerman/Worker.php:2362
Stack trace:

0 /home/forex/forex-v3/Applications/forex/start_forex.php(95): Workerman\Worker->listen()

1 /home/forex/forex-v3/start.php(29): require_once('...')

2 {main}

thrown in /home/forex/forex-v3/vendor/workerman/workerman/Worker.php on line 2362

Fatal error: Uncaught Exception: Address already in use in /home/forex/forex-v3/vendor/workerman/workerman/Worker.php:2362
Stack trace:

0 /home/forex/forex-v3/Applications/forex/start_forex.php(95): Workerman\Worker->listen()

1 /home/forex/forex-v3/start.php(29): require_once('...')

2 {main}

thrown in /home/forex/forex-v3/vendor/workerman/workerman/Worker.php on line 2362

  • robin2024 2023-12-08

    補(bǔ)充一點(diǎn),workerman.log 沒(méi)有錯(cuò)誤信息

walkor 打賞

發(fā)一個(gè)能重現(xiàn)你這個(gè)問(wèn)題的啟動(dòng)文件 start.php,不要任何業(yè)務(wù)邏輯。注意,要能重現(xiàn)你這個(gè)問(wèn)題的start.php,完整的啟動(dòng)文件,別人能運(yùn)行測(cè)試的。

  • 暫無(wú)評(píng)論
robin2024

找到原因了,因?yàn)榇饲笆褂脀orkerman的老版本,
創(chuàng)建worker后,會(huì)執(zhí)行 $worker->listen(); 命令,在老版本沒(méi)問(wèn)題。
在新版本上執(zhí)行 $worker->listen();命令會(huì)導(dǎo)致端口被占用的錯(cuò)誤。

出現(xiàn)這種錯(cuò)誤,耽誤了1天時(shí)間,真是讓人苦笑不得

  • robin2024 2023-12-09

    不錯(cuò),在找問(wèn)題過(guò)程中對(duì)workerman理解更深入了一些,
    順便看了很牛X的 workerman AI

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??