我是新手,所以我會盡我所能解釋我遇到的問題。如果有什麼我遺漏或不清楚的,我提前道歉。下載用PHP提供的大型(ish)zip文件被連接速度慢的人損壞
我正在爲我的根目錄之外的81MB zip文件提供預先驗證的人員。我一直在收到有關損壞的下載或無法完成下載的報告。如果我模擬慢速連接,我已經在我的機器上驗證了這一情況。
我在共享主機上運行Apache-Coyote/1.1。
我收到網絡超時錯誤。我認爲我的主機可能會在下載時間過長的情況下殺死下載內容,但是他們沒有通過任何方式驗證。
我以爲我可能會遇到內存限制或時間限制,所以我的主機安裝了Apache模塊XSendFile。我認爲處理驗證後正在設置這樣的下載文件中的標題:
<?php
set_time_limit(0);
$file = '/absolute/path/to/myzip/myzip.zip';
header("X-Sendfile: $file");
header("Content-type: application/zip");
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
任何幫助或建議,將不勝感激。謝謝!
您是否嘗試發送使用文件'Content-Type:application/octet-stream'而不是「zip」?我還建議查看https://tn123.org/mod_xsendfile/並確保/向主機驗證設置是否正確。 –
事實證明,我的共享主機環境是問題所在。我的主機無法正確安裝XSendFile,並在10分鐘後關閉,因此連接速度慢的用戶正在獲取部分下載/網絡超時。轉向VPS解決了這個問題。 – stringerbell