我在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;我会收到类似的错误,并且输出在所有浏览器中都是实时的.它是否与打印异常的方式有关?
在某些情况下,某些Web 浏览器会在开始呈现页面之前缓冲前x个字节.
尝试先输出大量的空格