Почему readfile () исчерпывает память PHP?

Я видел много вопросов о том, как эффективно использовать PHP для загрузки файлов вместо того, чтобы разрешать прямые HTTP-запросы (для обеспечения безопасности файлов, для отслеживания загрузок и т. Д.).

Почти всегда ответ: PHP readfile () .

НО, хотя он отлично работает во время тестирования с огромными файлами, когда он находится на действующем сайте с сотнями пользователей, загрузки начинают зависать и пределы памяти PHP исчерпываются.

Итак, как readfile () приводит к тому, что память настолько сильно раздувается при высоком трафике? Я думал, что он должен обойти интенсивное использование памяти PHP путем записи непосредственно в выходной буфер?

РЕДАКТИРОВАТЬ: (Чтобы уточнить, я ищу «почему», а не «что я могу сделать». Я думаю, что Apache mod_xsendfile - лучший способ обойти)

22
задан Community 23 May 2017 в 12:26
поделиться