У меня есть веб-сайт, который предлагает загрузки некоторых больших файлов, до 10 ГБ.
Существует проблема с загрузками, которая не происходит со мной, и на самом деле не происходит с большинством моих пользователей, но я продолжаю получать сообщения от некоторых пользователей о том, что их загрузка останавливается на 2 ГБ, и размер файла больше этого.
Я обслуживаю загрузки, используя nginx XSendfile с php:
header('X-Accel-Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: no-cache');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . $this->getFileSize() );
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Accept-Ranges: bytes');
header('X-Accel-Buffering: yes');
header('X-Accel-Redirect: ' . $this->getServeDownloadLocation());
Работает на CentOS 6.6, php 5.5.22, nginx 1.6.2.
Обратите внимание: пользователи не используют старые браузеры, они используют современные браузеры, такие как Google Chrome.
Задача ещё не решена.
Других решений пока нет …