无法通过PHP将1GB文件上传到Amazon S3表单
问题描述:
我有一个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:我很乐意添加代码片段,但我期待得到响应来显示必要的片段,而不是发布一堆无关的代码。
答
也许你应该增加php.ini文件中的post_max_size
变量(或者使用ini_set()),默认情况下设置为10MB。你应该也看看upload_max_filesize
变量和max_execution_time
,因为我估计上传5GB需要很长时间...
如果你的问题与JQuery/Ajax相关,可能你应该考虑使用FormData对象。
答
OK,最后我不得不使用Amazon SDK的分块大文件。这将文件分解为多个部分,从而防止服务器超时。
也许[这个问题](http://*.com/questions/18884683/browser-uploads-to-s3-with-instance-roles)会对你有所帮助。它讨论直接上传到S3,但使用PHP完成授权。 – 2015-02-12 00:36:51