了解PHP中的flush、Ob_flush和buffer_输出
我正在阅读有关内容缓冲的内容,我发现了一个简单的脚本来显示刷新的效果了解PHP中的flush、Ob_flush和buffer_输出,php,apache2,output-buffering,Php,Apache2,Output Buffering,我正在阅读有关内容缓冲的内容,我发现了一个简单的脚本来显示刷新的效果 <?php if (ob_get_level() == 0) ob_start(); for ($i = 0; $i < 10; $i++) { echo "<br> Line to show."; echo str_pad('', 4096) . "\n"; ob_flush(); flush(); sleep(2); } echo "Done.";
<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i < 10; $i++) {
echo "<br> Line to show.";
echo str_pad('', 4096) . "\n";
ob_flush();
flush();
sleep(2);
}
echo "Done.";
ob_end_flush();
?>
这个脚本可以很好地工作并显示输出,但是当我移除stru焊盘或将长度从4096减少到40时,flush不起作用
有人能帮我找出到底是什么原因造成的吗 我认识到这个问题,我自己也有过一次。。您是否激活了输出压缩功能?我认识到这个问题,我自己也遇到过。。您是否激活了输出压缩功能?至少我找到了原因 根据Broswers的说法,开始显示页面需要特定字节。像某些版本的Internet Explorer一样,需要200字节。而像Firefox或Chrome这样的现代浏览器需要更多的字节来启动浏览器显示
在上述情况下,如果您在Internet Explorer中选中它,则不需要填充字符串,但在Firefox或Chrome中,您需要使用输入填充空格以显示刷新的输出 我终于找到了原因 根据Broswers的说法,开始显示页面需要特定字节。像某些版本的Internet Explorer一样,需要200字节。而像Firefox或Chrome这样的现代浏览器需要更多的字节来启动浏览器显示
在上述情况下,如果您在Internet Explorer中选中它,则不需要填充字符串,但在Firefox或Chrome中,您需要使用输入填充空格以显示刷新的输出 谢谢有人已经在我跳水的地方游泳了。不,它在php.iniThanks中设置为off。有人已经在我跳水的地方游泳了。不,它在php.ini中设置为off