私は初心者なので、私が抱えている問題を説明するために最善を尽くします。見落としや不明な点がありましたら、あらかじめお詫び申し上げます。
ルート ディレクトリの外にある 81 MB の 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) . '"');
ヘルプや提案をいただければ幸いです。ありがとう!