2015-02-11 98 views
0

我有一个PHP表单,它在提交时选择一个zip文件并使用AJAX发布到Amazon S3存储桶。无法通过PHP将1GB文件上传到Amazon S3表单

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

我需要能够允许最多5GB的zip文件上传:当我测试或小于10MB的zip文件,但是当我测试过的东西我500MB收到以下错误此过程进行很大的。在这一点上,我需要更好地理解我需要做什么来允许用户上传大文件。任何帮助深表感谢。 PS:我很乐意添加代码片段,但我期待得到响应来显示必要的片段,而不是发布一堆无关的代码。

+0

也许[这个问题](http://stackoverflow.com/questions/18884683/browser-uploads-to-s3-with-instance-roles)会对你有所帮助。它讨论直接上传到S3,但使用PHP完成授权。 – 2015-02-12 00:36:51

回答

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

+0

谢谢,我会研究这些选项,看看他们是否提供解决方案。 – Presto 2015-02-11 22:17:35

+0

我唯一关心的就是我使用AJAX绕过我们的服务器的方式......无论哪种方式,我会测试这个并用我的结果更新问题。 – Presto 2015-02-11 22:23:35

+0

我试过15MB和30MB的软件包,它们工作得很好。我会研究这些其他的链接,看看是否会打开任何测试选项。 – Presto 2015-02-12 14:53:46

0

OK,最后我不得不使用Amazon SDK的分块大文件。这将文件分解为多个部分,从而防止服务器超时。