Nginx + PHP максимальный предел выхода
У меня установлен php 5.5 (fpm) и nginx 1.10 (gzip настроен на 1). Бег на убунту.
Когда я "повторяю" большой вывод (более 2 МБ), он резко останавливается на отметке 520 КБ.
Но та же самая программа, когда я запускаю на php-cli, не имеет проблем с "выводом" всего этого на терминал.
Также загрузка дампов mysql через админера останавливается на полпути. Я имею в виду, что загружаются неполные файлы (если правильный общий вывод больше в пару МБ).
Как это исправить?
В моей программе нет ничего плохого. Даже простой, достаточно длинный для выплескивания цикла эхо "hello world" останавливается на определенном байтовом пределе.
Я не уверен, вызвана ли эта проблема со стороны nginx или php.
1 ответ
Попробуйте отключить буферизацию:
fastcgi_buffering off;
Он включен по умолчанию.
Это даст вам немного больше контроля изнутри PHP, но имейте в виду, что операции очистки, которые ранее не блокировались, теперь могут блокироваться. Это также преодолеет любые проблемы с буферизацией, с которыми может столкнуться Nginx - я бы положил деньги на эту проблему. Буферы Nginx эффективны, но непостоянны.