ReactPHP 保持活动连接的内存问题

问题描述 投票:0回答:1

我有一个用 ReactPHP 和 FastRoute 开发的 API Rest。如果我从带有标题“连接:保持活动”的网络界面调用它,内存就会开始增加,直到内存崩溃。我尝试将标题更改为“连接:关闭”并且没有内存泄漏。

你知道为什么会这样吗? 我可以在 ReactPHP 服务器中禁用 keep-alive 吗?

谢谢

这是我的服务器的代码

$server = new Server($loop, new ErrorHandler(), new JsonRequestDecoder(), new CorsMiddleware([
    'allow_origin' => [
        '*',
        'http://localhost:3000'
    ],
    'allow_methods'     => ['GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS'],
    'allow_headers'     => ['DNT','X-Custom-Header','Keep-Alive','User-Agent','X-Requested-With','If-Modified-Since','Cache-Control','Content-Type','Content-Range','Range'],
    'expose_headers'    => ['DNT','X-Custom-Header','Keep-Alive','User-Agent','X-Requested-With','If-Modified-Since','Cache-Control','Content-Type','Content-Range','Range']
 
]), new Router($routes));
php rest keep-alive reactphp fastroute
1个回答
0
投票

ReactPHP 维护者在这里。

这也在我们的 ReactPHP HTTP 组件中的 https://github.com/reactphp/http/issues/514 中得到了报告,我们几天前通过 https://github.com/reactphp 修复了这个问题/http/pull/515。正如您上面所说,这种情况仅在使用持久连接(保持活动)时发生,内存增长是因为连接关闭处理程序未针对每个请求正确清理。

我们目前正在关注一个新的reactphp/http

v1.10.0
,计划于下周左右发布,并将包含对此的修复。一旦发布,您就可以安装新版本,并且不会再遇到此问题。

© www.soinside.com 2019 - 2024. All rights reserved.