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