在我的web服務上,用戶可以創建表單並讓他們的朋友或同事與他們創建數據。收集的數據可以作爲zip文件流下載。有時用戶擁有大量的數據(高達2GB),服務器只是因爲明顯的原因殺死了php進程。是否有可能創建這樣的文件在客戶端沒有閃光燈,Java(btw Java對我的大多數用戶不起作用)等?如何處理處理時間較短的大文件
0
A
回答
0
增加您的腳本超時和內存使用情況。
使用set_time_limit
功能Docs
而且使用ini_set
爲memory_limit
參數。
還有一個解決方案是給客戶端文件部分。即給他們下載記錄數量的限制。即1-1000,1001-2000等
0
如果你能控制Web服務器進程,建議你探索x-send-file作爲解決方案。
它在本質上會結束PHP的過程,並通過HTTP服務器發送文件。這樣的時間限制不是一個問題,你沒有一個PHP實例懸而未決。
0
創建一個在後臺循環運行並繼續運行並檢查新數據的worker shell。如果它發現新的未處理數據,它會在後臺準備下載。當數據準備好下載時,將其標記爲「就緒」,並通知用戶(通過電子郵件,通過ajax輪詢狀態更新,無論您喜歡)他的數據是否已處理並準備下載。
您可以使用nice來限制該外殼使用的CPU功率,以避免它消耗所有可用的處理能力,並且您的站點變慢。
這正是我在我的一個項目中處理音頻和視頻處理的過程,它工作正常。
相關問題
- 1. Windows批處理文件時間比較
- 2. 批處理:比較文件大小
- 3. 處理大文件
- 4. 處理大文件
- 5. 如何處理GAE上的大文件處理?
- 6. 如何處理大型文本文件?
- 7. 如何處理gae上的大文件
- 8. 如何處理SbreDav中的大文件?
- 9. 如何處理python中的大文件?
- 10. 如何處理大的html/js文件?
- 11. 處理大文件時的AWK性能
- 12. 如何在處理輸入文件時處理前進(處理2行)
- 13. 如何處理大型Excel文件?
- 14. 如何處理大型MXML文件
- 15. 如何使用NSData處理大文件?
- 16. 如何在python中處理大文件?
- 17. 如何處理大量文件
- 18. BufferedInputSteam如何幫助處理大文件?
- 19. SVN如何處理大文件?
- 20. 如何處理大文件上傳
- 21. 在最短時間內處理多個文件
- 22. Windows,批處理文件時間條件
- 23. 處理大型json文件
- 24. Oracle XMLDB處理大文件
- 25. 處理大量文件
- 26. Owin Selfhost:處理大文件
- 27. 處理大型xlsx文件
- 28. 處理大型XML文件
- 29. 處理大型XML文件
- 30. Django處理大文件(imageblob)
這是2GB只在一個文件中或跨多個文件? –
什麼時候在下載或創建文件時被殺死?爲什麼它會死亡?時間,記憶,....? – Nin
2GB是多個文件,它們被打包成一個zip文件。該zip文件在創建時被下載。是的,它確定了暫停。它有點像zip_create(name。「。zip」); foreach($文件作爲$文件){addFile($文件); flushNewStuff(); } zip_close(); – Alex