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

时间:2017-03-24 20:14:17

标签: php multithreading sockets

我正在使用lib:

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

添加退出(0)后;在客户端断开连接之后,我最终得到了许多进程:[php-cgi]堆积起来,他们不会退出,直到主服务器退出。

我一直试图让这个工作一周,我不知所措。我已评论过一个问题:https://github.com/lukaszkujawa/php-multithreaded-socket-server/issues/7

但我想我会在这里发帖,希望能解决这个问题。

谢谢:)

1 个答案:

答案 0 :(得分:0)

好的,我已经得到了修复,希望它没有任何长期的负面后果。

在“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);”在功能的最后。

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