php每秒输出一次
首先说到php.ini中的两个配置
output_buffering配置
•Off: 表示关闭PHP输出缓存
•On: 打开无限大的输出缓存
•4096: 打开大小为4096Byte的输出缓存(默认)
implicit_flush配置
•On: 表示每次输出(如echo,print)后自动调用flush()函数后,直接输出
•Off: 与On相反,每次输出后不会调用flush(),需要等到server buffering满了才会输出,但是我们可以用flush()函数代替它,不开启也没关系,反而更加灵活
在默认的output_buffering=4096和implicit_flush=off的情况下
已知chrome与firefox浏览器的输出缓存为1000Bytes 即只有超过1000Bytes的内容才会被输出
来看这一段程序
<?php for ($i = 9; $i > 0; $i--) { print str_repeat(' ', 122); echo $i . '<br />'; ob_flush(); flush(); sleep(1); } ob_end_flush();
str_repeat(' ', 122)即将空格重复122次
为什么是122呢?
我们知道一个字节占8位 1000Bytes需要125个字符 想输出出来就要126个字符
一个32位数字占4个字符
126-4=122
本文来自博客园,作者:Bin_x,转载请注明原文链接:https://www.cnblogs.com/Bin-x/p/4565566.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)