php start.php start 启动后,直接关闭调试,正常无报错,
但启动后,通过http访问接口后,就无法正常关闭调试,会报错;
尝试把 eventLoop 选项置空不使用swoole则正常不报错;
主要是这个错误信息量太少不知道哪里抛出来,麻烦大佬们看看是什么问题。
补充下问题:
如果请求的业务逻辑涉及到db查询(mysql8、5.7均是),则会出现该问题,移除swoole后正常。
process.php
'eventLoop' => Workerman\Events\Swoole::class
/app # php start.php start
Workerman[start.php] start in DEBUG mode
--------------------------------------------- WORKERMAN ---------------------------------------------
Workerman/5.1.10 PHP/8.5.4 (JIT off) Linux/6.12.76-linuxkit
---------------------------------------------- WORKERS ----------------------------------------------
event-loop proto user worker listen count state
swoole tcp root webman http://0.0.0.0:23401 4 [OK]
event tcp root monitor none 1 [OK]
-----------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
^C Workerman[start.php] received signal SIGINT
Workerman[start.php] stopping
PHP Fatal error: Couldn't execute method Error::__toString in Unknown on line 0
Stack trace:
#0 {main}
Fatal error: Couldn't execute method Error::__toString in Unknown on line 0
Stack trace:
#0 {main}
Workerman[start.php] has been stopped

新项目,使用php8.5.4 + swoole6.2 + Webman2.2
Docker基础镜像:php:8.5.4-cli-apline
swoole 编译安装启用了iouring特性 --enable-iouring --enable-uring-socket
可能是swoole版本问题,换个swoole版本试下
看到是链接池问题,正无从下手,感谢大佬👍