打印过程实时输出

Pau*_*ulH 5 php apache

我在Windows 7 x64系统上使用PHP 5.3.4和Apache 2.2.17.我希望我的PHP页面能够system实时向用户的浏览器输出调用结果.为此,我output_buffering=Off在php.ini中配置并创建了这段代码:

<?php
ob_implicit_flush(true);
ob_end_flush();
system('ping -n 10 www.google.com');
?>
Run Code Online (Sandbox Code Playgroud)

ping的结果是实时打印的,但是我的页面顶部也出现了PHP诊断错误和callstack:

Notice: ob_end_flush() [ref.outcontrol]: failed to delete and flush buffer. No buffer to delete or flush in index.php on line 3
Run Code Online (Sandbox Code Playgroud)

如何更正或抑制此错误,我需要做什么?

更新 如果我改为ob_end_flush(),$a = 1/0;我会收到类似的错误,并且输出在所有浏览器中都是实时的.它是否与打印异常的方式有关?

goa*_*oat 6

在某些情况下,某些Web 浏览器会在开始呈现页面之前缓冲前x个字节.

尝试先输出大量的空格

  • 我必须向浏览器回显894个字符以启用实时输出.在Firefox 21和IE 8上测试过. (2认同)