<?php
ini_set('output_buffering','0');
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . '<br />';
flush();
ob_flush();
sleep(1);
}
echo 'End ...<br />';
?>
在上面的代码中,我尝试将output_buffering
设置为 off ,但它无效。
输出在脚本执行结束时回显。
答案 0 :(得分:0)
默认情况下,输出缓冲值设置为“0”。
答案 1 :(得分:0)
不要使用ob_flush
,只需在脚本开头使用ob_end_flush
即可删除输出缓冲区。
此外,声明页面的字符编码,因此浏览器可以立即显示您的输出,而无需先查看数百个输入字节:
header('Content-Type: text/html; charset=utf-8');
如果您的脚本仍然不起作用,则Web服务器是Apache,您可以创建.htaccess
文件,尝试使用以下内容:
php_flag zlib.output_compression Off
顺便说一句,ini_set
没用,您还应该包含html
,head
和body
元素。至少对于Firefox,包括这些元素也解决了这个问题:
echo '<!DOCTYPE html><html><head><title>test</title></head><body>';
// ...
echo '</body></html>';