jQuery-File-Upload失败,文件太大

时间:2019-04-14 15:36:05

标签: jquery-file-upload apache2.4 php-7.2

尝试使用此项目:https://github.com/blueimp/jQuery-File-Upload/

我们的应用程序服务器是带有Apache 2.4.39和PHP 7.2.17的FreeBSD 11.2。我已经下载了他们的演示,并在尝试上传足够大到超过22秒的内容时在浏览器控制台中收到错误net::ERR_CONNECTION_RESET。它确实与服务器有关,因为我已将相同的演示下载到另一台成功上传相同文件的CentOS7服务器。

尽管我已经检查了所有PHP变量的最大上传大小和内存限制等,但是此演示是否受PHP变量的影响?我发现服务器中的RequestReadTimeout Apache设置发生了故障,而工作服务器中没有此设置,因此我认为这可能是罪魁祸首,但是我将此设置从...更改了。

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

对此...

RequestReadTimeout header=60-120,MinRate=500 body=120,MinRate=500

...并重新启动Apache,但结果相同。该服务器上的开发人员认为,只有在完成对服务器的最新更新(包括将Apache 2.4.33升级到Apache 2.4.39)之后,此问题才会开始。 PHP版本没有更改,但是,还有许多其他软件包已更新以及FreeBSD OS的安全补丁。有人可以提出解决此问题的建议吗?

-更新-

好的,这很容易重复。我用全新安装的FreeBSD 11.2来启动VM,安装了Apache 2.4.39和该项目的演示。我在演示应用中调整了这些设置,以允许上传大型mp4视频...

acceptFileTypes: /(\.|\/)(gif|jpe?g|png|mp4)$/i,
maxFileSize: 999000000,

...并在大约493MB的mp4文件的下载进度中,恰好在22秒时收到相同的Unknown error。 Apache中必须有一个设置,需要允许更多时间或其他限制。也许对FreeBSD Apache 2.4端口的更改介于2.4.33和2.4.39之间。我的开发人员说,这一切都是在该更新之后开始的。

2 个答案:

答案 0 :(得分:1)

好吧,Apache的RequestReadTimeout设置是罪魁祸首。我不得不完全禁用它,现在它可以工作了。

答案 1 :(得分:0)

这里是同一问题-要在Centos 7系统上修复此行,请将其注释掉: LoadModule reqtimeout_module modules / mod_reqtimeout.so 从00-base.conf文件,然后重新启动httpd