gpt4 book ai didi

php - net::ERR_CONNECTION_RESET 当大文件需要超过一分钟时

转载 作者:可可西里 更新时间:2023-10-31 22:13:05 41 4
gpt4 key购买 nike

我有一个带有 php 后端的表单的多部分文件上传。我已将 php.ini 中的 max_execution_timemax_input_time 设置为 180,并在文件上传时确认已设置这些值并在中设置 TimeOut 180 Apache 。我也设置了

RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]

当我通过快速连接上传 250MB 的文件时,它工作正常。当我的连接速度较慢或网络链接调节器人为减慢速度时,同一文件超时,Chrome 会在 1 分钟(5 秒)后可靠地为我提供 net::ERR_CONNECTION_RESET。我也尝试过其他浏览器,结果相同,只是错误消息不同。

在任何日志中都没有错误指示,我已经在 httphttps 上都试过了。

什么会导致上传连接在 1 分钟后重置?

编辑

我现在也尝试过一个简单的上传表单来绕过我正在使用的任何框架,仍然会在 1 分钟时超时。

我还刚刚制作了一个 sleep 脚本,该脚本在 2 分半钟后超时,并且有效,页面加载大约需要 2.5 分钟,所以我看不出它与浏览器或 header 有何关系。

我还使用了具有更多 RAM 的服务器以确保它与此无关。我已经在 3 台具有不同规范但都来自相同 CentOS 7 基础的不同服务器上进行了测试。

我现在也升级到 PHP 7.2 并再次更新了相关字段,问题没有改变。

编辑 2这个孤立实例的技术栈是

  • Apache 2.4.6
  • PHP 5.6/7.2(都试过了),有 OPCache
  • 用于 session 信息和键/值存储 (ElastiCache) 的 Redis 3.2.6
  • PostgreSQL 10.2 (RDS)

我的技术堆栈中的所有其他内容都已从此测试区域中删除,以尝试隔离问题。 EFS 在系统上,但在我最孤立的测试中它只使用 EBS。

编辑 3这里有一些来自 chrome 网络调试器的日志:

{"params":{"net_error":-101,"os_error":32},"phase":0,"source":    {"id":274043,"type":8},"time":"3332701830","type":69},
{"params": {"error_lib":33,"error_reason":101,"file":"../../net/socket/socket_bio_adapter.cc","line":216,"net_error":-101,"ssl_error":1},"phase":0,"source": {"id":274043,"type":8},"time":"3332701830","type":56},
{"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":159},
{"phase":1,"source": {"id":274038,"type":1},"time":"3332701830","type":164},
{"phase":1,"source": {"id":274038,"type":1},"time":"3332701830","type":287},
{"params": {"error_lib":33,"error_reason":101,"file":"../../net/socket/socket_bio_adapter.cc","line":113,"net_error":-101,"ssl_error":1},"phase":0,"source": {"id":274043,"type":8},"time":"3332701830","type":55},
{"params":{"net_error":-101},"phase":2,"source": {"id":274038,"type":1},"time":"3332701830","type":287},
{"params":{"net_error":-101},"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":164},
{"params":{"net_error":-101},"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":97},
{"phase":1,"source":{"id":274038,"type":1},"time":"3332701830","type":105},
{"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":105},
{"phase":2,"source":{"id":274043,"type":8},"time":"3332701830","type":38},
{"phase":2,"source":{"id":274043,"type":8},"time":"3332701830","type":38},
{"phase":2,"source":{"id":274043,"type":8},"time":"3332701830","type":34},
{"params":{"net_error":-101},"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":2},

最佳答案

我遇到了类似的问题,在我的例子中,它与 mod_reqtimeout 有关,添加:

RequestReadTimeout header=20-40, MinRate=500 body=20, MinRate=500

httpd.conf 成功了!可以查看文档here .

希望对您有所帮助!

关于php - net::ERR_CONNECTION_RESET 当大文件需要超过一分钟时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53736912/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com