Apache PHP-FPM“软件导致连接中止”

Apache PHP-FPM“软件导致连接中止”

仅作为自己的提醒,也许对其他人有帮助......

我的 Apacheerror_log包含以下错误:

  • 软件导致连接中止
  • 发送请求至:(读取输入旅)时出错

例如:

[Mon Sep 07 12:56:24.267462 2020] [proxy_fcgi:error] [pid 13938:tid 140607124641236] (103)Software caused connection abort: [client 1.1.1.1:9060] AH01075: Error dispatching request to : (reading input brigade), referer: https://example.com/path/

阿帕奇access_log里面有:

1.1.1.1 - - [2020-09-07 12:56:17] [-] "POST /path/ HTTP/2.0" 400 308 "https://example.com/path/" "Mozilla/5.0 ..."

注意的 HTTP 状态400 Bad Request,它在 7 秒后发生。

另外,在 PHP 中处理它的地方,我用来register_shutdown_function创建自己的日志文件,其中详细记录每个请求 - 包括用户 ID、http_response_code()(在本例中200)、处理请求所花的时间(0.031秒)以及发生的时间(稍后的时间12:56:17)。

这是 Apache/2.4.29 和 PHP-FPM 7.2

答案1

当用户正在上传文件并取消上传时,就会发生这种情况。

部分文件仍然传递给 PHP-FPM,并且 PHP 脚本仍然运行。

PHP 设置$_FILES['name']['error'] === 3,以指示文件已部分上传;因此,在我的脚本中,我返回了一个 HTML 页面,其中包含有关文件不完整的错误消息(因此200在我的记录中出现响应)。

我假设Software caused connection abortError dispatching request to : (reading input brigade)描述了该 HTML 如何没有返回到客户端/浏览器。

相关内容