内容简介:php在Nginx环境下进行刷新缓存立即输出,实现常驻进程轮询
以下面这段代码并不会逐个输出,而是当浏览器筹够一定字节数进行统一输出,结果显而易见,10秒后一次性输出所有内容
for($i=0;$i<10;$i++){ echo $i.'</br>'; sleep(1); }
在Apache环境下可以这样解决此问题
for($i=0;$i<10;$i++){ echo $i.'</br>'; sleep(1); ob_flush(); //关闭缓存 flush(); //刷新缓存即立即输出了 }
nginx 里面 flush 默认是无效的, 这个函数默认是作用在 php 作为 apache模块时才有效,如果需要 nginx 里面支持,需要加上一行
header('X-Accel-Buffering: no'); 实例代码
header('Content-Type: text/event-stream'); // 以事件流的形式告知浏览器进行显示 header('Cache-Control: no-cache'); // 告知浏览器不进行缓存 header('X-Accel-Buffering: no'); // 关闭加速缓冲 for($i=0;$i<10;$i++){ echo $i.'</br>'; sleep(1); ob_flush(); flush(); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- jiacrontab 1.4.0 版本发布,任务定时和常驻管理工具
- one 1.4.1 发布,基于 Swoole 的极简常驻内存框架
- one 1.4.1 发布,基于 Swoole 的极简常驻内存框架
- swoolefy 4.1.2 发布,基于swoole实现的常驻内存服务框架
- QueryPHP 1.0.0-alpha.1 发布,渐进式 PHP 常驻框架引擎
- QueryPHP 1.0.0-alpha.1 发布,渐进式 PHP 常驻框架引擎
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。