2015-02-11 158 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的分塊大文件。這將文件分解爲多個部分,從而防止服務器超時。