Назад | Перейти на главную страницу

Максимальный лимит вывода Nginx + PHP

У меня установлены php 5.5 (fpm) и nginx 1.10 (gzip настроен на 1). Работает на убунту.

Когда я "повторяю" большой вывод (более 2 мб), он резко останавливается на отметке около 520 кб.

Но та же самая программа, когда я запускаю на php-cli, без проблем «отображает» все это на терминале.

Также загрузка дампов mysql через администратор останавливается на полпути. Я имею в виду, что загружаются неполные файлы (если правильный общий вывод больше на пару МБ).

Как это исправить?

В моей программе все в порядке. Даже простой, достаточно длинный цикл for, извергающий эхо «hello world», останавливается на определенном байтовом ограничении.

Я не уверен, вызвана ли эта проблема стороной nginx или стороной php.

Попробуйте отключить буферизацию:

fastcgi_buffering off;

По умолчанию он включен.

Это даст вам немного больше контроля из PHP, но имейте в виду, что операции очистки, которые ранее не блокировались, теперь могут блокироваться. Это также решит любые проблемы с буферизацией, с которыми может столкнуться Nginx - я бы положил свои деньги на это. Буферы Nginx эффективны, но непостоянны.