GatewayWorker 在php7.2.29下啟動(dòng)一直報(bào)如下錯(cuò)誤,在同服務(wù)器下用php5.6.31下正常啟動(dòng)
發(fā)現(xiàn)只是start_gateway 方法不能啟動(dòng),單獨(dú)可以啟動(dòng)另外BusinessWorker和Register
php版本分別如下
詳細(xì)的報(bào)錯(cuò)內(nèi)容如下
[27-Apr-2021 23:08:19 Asia/Shanghai] PHP Fatal error: Uncaught Exception: Address already in use in /data/wwwroot/Gateway/vendor/workerman/workerman/Worker.php:2257
Stack trace:
thrown in /data/wwwroot/Gateway/vendor/workerman/workerman/Worker.php on line 2257
報(bào)錯(cuò)不是很明顯,端口占用?。。?!
這個(gè)只在php72版本下出現(xiàn),php56版本下完全正常啟動(dòng),應(yīng)該不完全是端口占用引起的,我查了啟動(dòng)前該端口未被占用,報(bào)錯(cuò)后也未被占用
看到7.2我要回下,當(dāng)時(shí)把我坑慘了, 用的寶塔安裝的7.2,用來運(yùn)行 workerman 執(zhí)行任務(wù)的,當(dāng)時(shí),一開啟就報(bào)了個(gè)錯(cuò),具體的錯(cuò)誤現(xiàn)在不記得了, 當(dāng)時(shí)查了,別人給出的回復(fù)是里面用了什么不穩(wěn)定或者有bug的擴(kuò)展,但是我當(dāng)時(shí)肯定是沒有安裝有的,全部是安裝自帶的,確實(shí)不知道怎么解決,當(dāng)時(shí)就重復(fù)關(guān)閉開啟搞了幾次,還別說,后面開啟真沒報(bào)錯(cuò)了,然后我當(dāng)時(shí)就安心等任務(wù)執(zhí)行.
等了幾分鐘吧,當(dāng)時(shí)任務(wù)代碼一執(zhí)行就報(bào)了個(gè)數(shù)據(jù)庫(kù)的錯(cuò)誤,(代碼肯定沒問題的,線下執(zhí)行正常,后面換回7.1也是正常的),這個(gè)錯(cuò)誤自然也沒法解決,代碼里原本是寫了事務(wù)的,正常的話執(zhí)行出錯(cuò)理應(yīng)回滾的,所以出錯(cuò)了我也沒去查數(shù)據(jù)庫(kù)數(shù)據(jù)是否有變動(dòng),結(jié)果過了5分鐘(這時(shí)我是在查資料為什么會(huì)出現(xiàn)那個(gè)數(shù)據(jù)庫(kù)錯(cuò)誤的),客戶打電話過來直接我數(shù)據(jù)出錯(cuò)了......,后面沒辦法,只能舍棄掉那段時(shí)間的數(shù)據(jù)重新恢復(fù)前面?zhèn)浞莸? 當(dāng)然,7.2我肯定是沒用了,包括后面我部署workerman,也從來不下載7.2的,親身經(jīng)歷,沒有瞎寫,至于當(dāng)時(shí)用7.2為什么會(huì)出錯(cuò)我無法回答,但是問題肯定是出在那個(gè)php版本里,后面我換7.1從來沒出現(xiàn)過那種奇葩錯(cuò)誤.