Readfile читает 0 байтов из большого файла?

Я пытаюсь отправить большой файл черезreadfile().

Тем не менее, ничего не отправляется в браузер иreadfile() возвращается0 (не false!).

Файл, который я пытаюсь отправить, имеет размер 4 ГБ и может быть прочитан PHP.
Я устанавливаюset_time_limit(0) чтобы разрешить длительный процесс загрузки.

Я попытался отправить файл в хитрый цикл сfread() в 4K кусках иecho, но это прерывает случайным образом (без ошибок) после 500 - 2500 MiB загруженных и никогда не удается завершить загрузку.

Следующий тестовый код

$f = '/var/www/tmp/largefile.dat';

var_dump(file_exists($f));
var_dump(is_readable($f));
var_dump(filesize($f));

$rf = readfile($f);
var_dump($rf);

производит следующий вывод:

bool (правда) bool (правда) int (4294967296) int (0)

Тестовый файл был создан с помощью следующей команды:

dd if=/dev/zero of=largefile.dat bs=1M count=4096

Что я делаю не так и как мне это исправить?

Редактировать 2014-07
Обновление до новой версии Apache2 решило проблему на данный момент.

Ответы на вопрос(1)

Ваш ответ на вопрос