实现功能:

浏览器每隔一秒输出一个数字。

php.ini配置为

版本5.3

implicit_flush = off

output_buffering = off

另:查看output_buffering是否打开,可以:var_dump(ini_get('output_buffering'));

好我们再来看看这段代码:<?php

$i = 3;

ob_start();

while ($i--) {

echo $i, "
";

ob_flush();

flush();

sleep(1);

}

ob_end_clean();

?>

可为什么:这段代码不能每隔一秒输出呢??

原因分析:

apache运行原理:当你访问一个地址(发送请求)后,apache启动PHP,那么php执行是页面级的,即如果有可执行的代码:它全部执行完后再丢给apache,apache再丢给browser显示结果

如何实现?

如果是cli(命令行界面) 显示结果方式又不一样,那里不一样呢?

linux cmd:

php5 test.php

由php直接执行,不经过apache,web service,就可以实现<?php

$i = 3;

while ($i--) {

echo $i, "\n";

sleep(1);

}

ob_end_clean();

?>

php ob flush 不管用,php ob_flush 不能每隔一秒输出相关推荐

  1. PHP的ob_flush()与flush()区别

    说明:纯属个人实践中的理解以及一些总结,理解有误或有疑问之处,请告知,共同进步. 一.首先说一下buffer. buffer是指内存地址空间. 1.Linux系统默认大小一般为4096(4kb). 其 ...

  2. sys.stdout.flush()

    python的stdout是有缓冲区的,给你个例子你就知道了 import time import sysfor i in range(5):print i,#sys.stdout.flush()ti ...

  3. 【PHP CMS系统】-- 新闻管理系统 1

    实现全站真静态化. 一般CMS系统都分为前台和后台, 前台系统是给用户看的,而后台则是管理员添加,修改,删除页面的地方. 在CMS系统中,前台一般都是html静态页面. 后台的责任是完成CRUD操作后 ...

  4. 剖析PHP中的输出缓冲

    剖析PHP中的输出缓冲 本文按署名·非商业用途·保持一致授权 作者:  ,发表于2005年12月24日01时54分 我们先来看一段代码. <?php for ($i=10; $i>0; $ ...

  5. php bigpipe实现,如何通过php 实现BigPipe分块输出

    原理:利用 ob_flush() 与 flush()将缓冲区的内容提前输出,浏览器可提早加载这部分的内容,无需等待所有输出完成再加载. 将页面内容划分为一个个小块,输出一个后再输出下一个,使用户可尽早 ...

  6. PHP 循环时间控制缓冲方法

    2019独角兽企业重金招聘Python工程师标准>>> PHP 循环时间控制方法 for ($i=10; $i>0; $i--) { echo $i; flush(); sle ...

  7. 工作中有可能用到的运维小知识《现查现用》

    第一部分:基础部分 1.1window到linux互传文件 1.1.1使用rz/sz命令 安装:yum install lrzsz –y 最好安装下面的内容: yum install telnet n ...

  8. php bigpipe实现,如何通过php实现BigPipe分块输出

    原理:利用 ob_flush() 与 flush()将缓冲区的内容提前输出,浏览器可提早加载这部分的内容,无需等待所有输出完成再加载. 将页面内容划分为一个个小块,输出一个后再输出下一个,使用户可尽早 ...

  9. python 命令-python常见命令

    练习题答案 python常用标准库 python challenge 0. 搭建虚拟环境 sudo apt-get install python-pip sudo apt-get install py ...

最新文章

  1. C/C++字符串输入方法比较(带回车不带回车输入)
  2. oracle list 分区详解,oracle的List分区及分区索引
  3. dbv mysql_MariaDB与MySQL对比 --- 对分布式事务的支持
  4. c语言while队列不为空,C语言实现循环队列的初始化进队出队读取队头元素判空-2...
  5. MYSQL统计行数时到底应该怎么COUNT
  6. 因为项目管理知识体系指南(PMBOK)初识宝地
  7. R12.2.6 installation failed with - Unable to rename database
  8. 多线程之银行排队叫号系统的实现
  9. 【ATSC】 为什么选择ATSC 3.0
  10. 嵌入式开发——基于小熊派的智慧农业案例(一)
  11. Mobaxterm终端工具和Neokylin7基础
  12. 阿里OSS图片持久化,裁切,缩放,格式转换等
  13. 5款实用又有趣的微信小程序,每一款都是大家公认的好用!
  14. 织梦建站:织梦CMS整站源码通用安装教程(图文教程)
  15. 怎么卸载虚幻4_用虚幻引擎重现新海诚风格“秒速五厘米”场景(附流程和思路)...
  16. gunicorn flask的请求流程
  17. 计算机存储—大话存储II读书
  18. Spire.PDF for Java 4.8.7 Crack
  19. 2021高考杭二中成绩查询,浙江高中高考成绩排名,2021年浙江各高中高考成绩排行榜...
  20. macOS 13.0 Cocoapods安装 (you don‘t have write permissions for the /Library/Ruby/Gems/2.6.0 directory)

热门文章

  1. c语言患者住院管理系统,患者住院管理系统 C,C++.doc
  2. 【并发编程】对线程的初步认识
  3. 双系统 win10 时间不对
  4. pytorch CUDA out of memor
  5. Global Average Pooling对全连接层的可替代性分析
  6. Jupyter安装r内核
  7. 利用JFreeChart绘制股票K线图
  8. Matlab 方括号“[ ]”的作用
  9. ubuntu 关闭qq打不开的终极方法
  10. 72 Zabbix邮件告警