這里詳細描述問題
線上項目 開始好的,運行一段時間后項目打不開(開始就用的這個端口,怎么后面占用了),重啟、進程殺了重新打開也是下面報錯,最后沒辦法換個端口就好了,但是沒找到錯誤原因,后面不知道是否還會出現(xiàn)
stream_socket_server(): unable to connect to tcp://127.0.0.1:8787 (Address already in use) in file /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php on line 2363
root@master:/www/wwwroot/web-admin# PHP Fatal error: Uncaught Exception: Address already in use in /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php:2365
Stack trace:
#0 /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php(700): Workerman\Worker->listen()
#1 /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php(555): Workerman\Worker::initWorkers()
#2 /www/wwwroot/web-admin/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\Worker::runAll()
#3 /www/wwwroot/web-admin/start.php(4): support\App::run()
#4 {main}
thrown in /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php on line 2365
Fatal error: Uncaught Exception: Address already in use in /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php:2365
Stack trace:
#0 /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php(700): Workerman\Worker->listen()
#1 /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php(555): Workerman\Worker::initWorkers()
#2 /www/wwwroot/web-admin/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\Worker::runAll()
#3 /www/wwwroot/web-admin/start.php(4): support\App::run()
#4 {main}
thrown in /www/wwwroot/web-admin/vendor/workerman/workerman/Worker.php on line 2365
這里寫具體的系統(tǒng)環(huán)境相關信息
php 7.4
Webman-framework v1.5.16
http://www.wtbis.cn/doc/workerman/faq/workerman-start-fail.html
可能原因:
webman/webman.pid文件丟失了或者被覆蓋了
例如更新代碼時覆蓋了webman/webman.pid 或者不小心刪除了webman/webman.pid
其他目錄啟動了webman,造成端口被占用 使用 ps auxf
命令能看到哪里啟動了webman
webman啟動后目錄被刪除,導致pid找不到
之前執(zhí)行過手動kill進程,導致主進程被kill,有子進程殘留
執(zhí)行用戶正確導致無法讀取pid文件內(nèi)容,例如root用戶啟動的webnan,www用戶去重啟