无法通过PHP表单将1GB文件上传到Amazon S3

时间:2015-02-11 21:19:20

标签: php jquery ajax file-upload amazon-s3

我有一个PHP表单,它在提交时接受一个选定的zip文件,并使用AJAX发布到Amazon S3存储桶。当我测试10MB或更少的zip文件时,这个过程很棒,但是当我测试超过500MB的东西时,我得到以下错误:

Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.

我需要能够允许上传最多5GB的zip文件。此时,我需要更好地了解我需要做什么才能允许用户上传大文件。非常感谢任何帮助。

PS:我很乐意添加代码片段,但我希望得到一个回复​​来显示必要的代码片段,而不是发布一堆不相关的代码。

2 个答案:

答案 0 :(得分:0)

也许你应该增加php.ini文件中的post_max_size变量(或者使用ini_set()),如果我记得很清楚,默认设置为10MB。你还应该查看upload_max_filesize变量和max_execution_time,因为我想上传5GB需要很长时间......

如果您的问题与JQuery / Ajax有关,可能应该考虑使用FormData对象。

Sending multipart/formdata with jQuery.ajax

https://developer.mozilla.org/en-US/docs/Web/API/FormData

答案 1 :(得分:0)

好的,最后我不得不使用亚马逊SDK来分块大文件。这会将文件分成多个部分,从而防止服务器超时。