我尝试使用缓冲区刷新将输出传递到用户的浏览器,并继续执行另一个耗时的任务。但是flush()似乎没有按预期工作。
我已经在nginx中设置了这些值:
gzip off;
proxy_buffering关闭;
fastcgi_buffer_size 1k;
fastcgi_max_temp_file_size 0;
fastcgi_buffers 128 1k;
fastcgi_busy_buffers_size 1k;
centos7.6,php7.2,laravel5.7
ignore_user_abort(true);
ob_start();
echo view('dataChart', $this->calc())->render();
ob_end_flush();
ob_flush();
flush();
sleep(15); //<- here's the problem, this 15s is supposed to have no effect. Page is expected to show immediately.
// Here's some heavy task
我想知道为什么sleep(15)仍然对页面加载有影响。
响应仍然存在15秒钟。