php 使用 bigpipe技术 简单笔记
php 使用 bigpipe技术 简单笔记
1.配置nginx
关闭proxy_buffering 为 off ,关闭 gzip压缩, 设置 fastcgi_keep_conn 为 on
2,设置php.ini
output_buffering = off
3.用ob_flush来处理缓存
测试:
echo 1;
sleep(2);
echo 2:
sleep(2);
echo 3;
sleep(2);
echo 4;
这种情况下执行,要经过6秒后,页面才输出 1234
如果使用ob_flush()
ob_start();//一定要写
echo 1;
sleep(2);
// 每一块执行完都要执行
ob_flush(); //php 缓存 刷到tcp 缓存
flush(); // tcp缓存刷到用户浏览器
echo 2:
sleep(2);
ob_flush(); //php 缓存 刷到tcp 缓存
flush(); // tcp缓存刷到用户浏览器
echo 3;
sleep(2);
ob_flush(); //php 缓存 刷到tcp 缓存
flush(); // tcp缓存刷到用户浏览器
echo 4;
// 结束后一定要执行清除缓存,不然会出现奇葩bug
ob_clean();
ob_end_clean();
可以看到,页面一开始就会输出1,2秒后输出2,再两秒输出3
php 使用 bigpipe技术 简单笔记相关教程