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 эффективны, но непостоянны.

Другие вопросы по тегам