walkor / workerman

An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols.

Home Page:http://www.workerman.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[WSL] 开发环境退出 webman 时出现死循环

marxangels opened this issue · comments

2023-10-03 09:59:16 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-03 10:03:23 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-03 10:03:23 pid:1 Workerman[start.php] stopping ...
2023-10-03 10:03:24 pid:1 Workerman[start.php] has been stopped
2023-10-03 10:12:43 pid:1 Workerman[start.php] reloading
2023-10-03 10:13:42 pid:1 Workerman[start.php] stopping ...
2023-10-03 10:14:49 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-03 10:14:50 pid:1 Workerman[start.php] stopping ...
2023-10-03 12:05:49 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-03 12:05:49 pid:1 Workerman[start.php] stopping ...
2023-10-03 12:05:50 pid:1 Workerman[start.php] has been stopped
2023-10-03 13:03:11 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-03 13:03:12 pid:1 Workerman[start.php] stopping ...
2023-10-03 19:18:14 pid:1 Workerman[start.php] reloading
2023-10-03 19:18:14 pid:1 Workerman[start.php] reloading
2023-10-03 19:51:54 pid:1 Workerman[start.php] reloading
2023-10-03 20:52:06 pid:1 Workerman[start.php] stopping ...
2023-10-03 20:52:07 pid:1 Workerman[start.php] has been stopped
2023-10-04 08:59:48 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-04 09:00:07 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-04 09:00:07 pid:1 Workerman[start.php] stopping ...
2023-10-04 09:00:08 pid:1 Workerman[start.php] has been stopped
2023-10-04 12:33:18 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-04 12:33:19 pid:1 Workerman[start.php] stopping ...
2023-10-04 12:33:20 pid:1 Workerman[start.php] has been stopped
2023-10-04 12:56:33 pid:1 Workerman[start.php] stopping ...
2023-10-04 12:56:33 pid:1 worker[webman:15] exit with status 4991
2023-10-04 12:56:34 pid:1 Workerman[start.php] has been stopped
2023-10-04 14:38:52 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-05 03:49:03 pid:1 Workerman[start.php] stopping ...
2023-10-05 03:49:04 pid:1 Workerman[start.php] has been stopped
2023-10-07 01:19:54 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-07 11:07:54 pid:1 Workerman[start.php] stopping ...
2023-10-07 11:07:55 pid:1 Workerman[start.php] has been stopped
2023-10-07 12:32:29 pid:1 Workerman[start.php] start in DEBUG mode
2023-10-07 21:56:33 pid:1 Workerman[start.php] stopping ...
2023-10-07 21:56:34 pid:1 Workerman[start.php] has been stopped
2023-10-08 18:14:52 pid:22363 Workerman[start.php] start in DEBUG mode
2023-10-08 18:15:23 pid:22407 Exception: event-loop exited in /srv/bedrock/webman/vendor/workerman/workerman/Worker.php:1639
Stack trace:
#0 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(1426): Workerman\Worker::forkOneWorkerForLinux(Object(Workerman\Worker))
#1 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(1400): Workerman\Worker::forkWorkersForLinux()
#2 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(560): Workerman\Worker::forkWorkers()
#3 /srv/bedrock/webman/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\Worker::runAll()
#4 /srv/bedrock/webman/start.php(4): support\App::run()
#5 {main}
2023-10-08 18:15:23 pid:22411 Exception: event-loop exited in /srv/bedrock/webman/vendor/workerman/workerman/Worker.php:1639
Stack trace:
#0 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(1426): Workerman\Worker::forkOneWorkerForLinux(Object(Workerman\Worker))
#1 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(1400): Workerman\Worker::forkWorkersForLinux()
#2 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(560): Workerman\Worker::forkWorkers()
#3 /srv/bedrock/webman/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\Worker::runAll()
#4 /srv/bedrock/webman/start.php(4): support\App::run()
#5 {main}
2023-10-08 18:15:23 pid:22402 Exception: event-loop exited in /srv/bedrock/webman/vendor/workerman/workerman/Worker.php:1639
Stack trace:
#0 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(1426): Workerman\Worker::forkOneWorkerForLinux(Object(Workerman\Worker))
#1 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(1400): Workerman\Worker::forkWorkersForLinux()
#2 /srv/bedrock/webman/vendor/workerman/workerman/Worker.php(560): Workerman\Worker::forkWorkers()
#3 /srv/bedrock/webman/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\Worker::runAll()
#4 /srv/bedrock/webman/start.php(4): support\App::run()
#5 {main}
2023-10-08 18:15:23 pid:22363 worker[webman:22496] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22499] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22501] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22503] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22505] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22508] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22511] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22513] exit with status 65280
2023-10-08 18:15:23 pid:22363 worker[webman:22515] exit with status 65280
2023-10-08 18:15:23 pid:22363 Workerman[start.php] has been stopped
2023-10-08 18:15:23 pid:22363 Workerman[start.php] has been stopped
2023-10-08 18:15:23 pid:22363 Workerman[start.php] has been stopped
2023-10-08 18:15:23 pid:22363 Workerman[start.php] has been stopped
2023-10-08 18:15:23 pid:22363 Workerman[start.php] has been stopped
2023-10-08 18:15:23 pid:22363 Workerman[start.php] has been stopped
$ php -v
PHP 8.2.11 (cli) (built: Sep 30 2023 02:33:53) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.11, Copyright (c) Zend Technologies
$ php -m
[PHP Modules]
apcu
Core
ctype
curl
date
dom
eio
ev
event
fileinfo
filter
ftp
hash
iconv
igbinary
json
libxml
mailparse
mbstring
mysqlnd
openssl
pcntl
pcre
PDO
pdo_sqlite
pgsql
Phar
posix
random
readline
Reflection
session
SimpleXML
sockets
sodium
SPL
sqlite3
standard
sync
tokenizer
uopz
xhprof
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

WSL Version 1

$ uname -a
Linux IntelCoreI9 4.4.0-19041-Microsoft #3516-Microsoft Wed Sep 20 17:13:00 PST 2023 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 20.04.6 LTS \n \l

命令行为异常 --help 变成了 start

$ php start.php --help
Workerman[start.php]  
Workerman[start.php] not run
Unknown command: 
------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.1.13          PHP version:8.2.11           Event-Loop:\Workerman\Events\Event
-------------------------------------------- WORKERS ---------------------------------------------
proto   user            worker          listen                 processes    status           
tcp     nasa            webman          http://0.0.0.0:8787    80            [OK]            
tcp     nasa            monitor         none                   1             [OK]            
--------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.

Ctrl + C 或者kill -TERM 后死循环

unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
unlink(/srv/bedrock/webman/runtime/webman.pid): No such file or directory in file /srv/bedrock/webman/vendor/workerman/workerman/Worker.php on line 1828
Workerman[start.php] has been stopped
Killed

没有人反馈过这个问题,我本地wsl一直也没问题。
有可能是event扩展的原因,将event扩展去掉试下

将 event 扩展去掉试下

去掉了,问题如旧,
难道跟 PHP 的编译有关?
PHP8 可执行文件是从 docker 镜像 php:8-bullseye (一样的 debian 版本) 复制过来的。

@walkor 搞清楚了,是 uopz 扩展忽略 PHP 的 exit 语句导致的。