PHP 多线程套接字服务器子线程不会死



我正在使用库:

https://github.com/lukaszkujawa/php-multithreaded-socket-server

在添加 exit(0( 之后;在客户端断开连接后,我最终会得到很多称为 [php-cgi] 的进程堆积起来,直到主服务器退出它们才会退出。

我已经试图让它工作了一个星期,我不知所措。我评论了一个问题:https://github.com/lukaszkujawa/php-multithreaded-socket-server/issues/7

但我想我会在这里发布并希望解决这个问题。

谢谢:)

好的,我有一个解决方法,希望它不会产生任何长期的负面影响。

在"onConnect"功能中,我进行了以下更改:

if ($pid == -1) {
    _echo('could not fork');
    die();
} else if ($pid) {
    // parent process handles client
} else {
    return;// new child handles next connection
}

并在函数的最后添加了"exit(0(;"。

内存似乎稳定,连接关闭后没有额外的线程。

最新更新