2011-07-18 87 views
0

我有一個相當簡單的問題和一個非常惱人的錯誤。我想允許一些用戶上傳我將存儲在Amazon S3上的圖像。我已經寫了一個uploadscript,當我給它提供小圖像時工作正常,但是當圖像大到1mb時,腳本停止。上傳到亞馬遜S3超過最大執行時間

我認爲它與等待來自亞馬遜的響應的腳本有關,然後因爲圖像上傳而超時,但其餘的uploadscript被跳過(插入到數據庫中)。

我遇到了這個問題How to sequence events in PHP for uploading files to amazon S3這有點類似於我的問題,但這有點簡單(我希望)。

我使用jumploader和亞馬遜s3類爲PHP。

這是腳本停止,再往前走了

S3::putObject($full, 'bucket_name', $path, S3::ACL_PRIVATE) 

是否有莫比的從我的服務器到S3只是實例上傳一些方法,只是excecute代碼(因此上傳的其餘線路是異步的)?

回答

1

增加時間限制:

set_time_limit($seconds);

http://www.php.net/set_time_limit

如果延遲太長,爲用戶合理等待,作業添加到隊列中,並使用計劃任務(cron作業)定期運行一個php腳本來上傳動作。

+0

謝謝,我知道這是一種可能性,但如果要上傳的文件是〜2GB呢?我不知道需要多長時間?我想我可以使用set_time_limit(0)...? –

+0

我更新了我的答案 –

+0

謝謝,我想那是要走的路。 –