我安装了PHP 5.5(fpm)和nginx 1.10(gzip配置为1).在ubuntu上运行.
当我“回显”大输出(超过2 mb)时,它会突然停止在520 kb左右.
但是当我运行php-cli时,同样的程序,它没有问题“回应”整个事情到终端上.
另外通过adminer下载mysql转储会在中途停止.我的意思是下载不完整的文件(如果正确的总输出在几MB中更大).
如何解决这个问题?
我的程序没有任何问题.即使是一个足够长的循环喷出“echo hello world”的循环也会在特定字节限制时停止.
我不确定这个问题是否是由nginx方面或php端引起的.
最佳答案
尝试禁用缓冲:
fastcgi_buffering off;
它默认开启.
这将为您提供更多来自PHP内部的控制,但请注意,之前未阻止的刷新操作现在可能会阻止.它还将克服Nginx可能遇到的任何缓冲问题 – 我把钱放在这个问题上. Nginx的缓冲区效率高但反复无常.