我在Windows 7 x64系統上使用PHP 5.2.4和Apache 2.2.17。我希望我的PHP頁面能夠實時向用戶的瀏覽器輸出system
調用的結果。爲此,我已經配置在php.ini output_buffering=Off
,並創造了這個代碼:實時輸出打印過程
<?php
ob_implicit_flush(true);
ob_end_flush();
system('ping -n 10 www.google.com');
?>
平的結果打印實時的,但在頂我也得到一個PHP診斷錯誤和調用堆棧我的頁面上寫着:
Notice: ob_end_flush() [ref.outcontrol]: failed to delete and flush buffer. No buffer to delete or flush in index.php on line 3
我需要做什麼來糾正或抑制此錯誤?
更新 如果我改變ob_end_flush()
到$a = 1/0;
我收到了類似的錯誤,並且輸出在所有瀏覽器實時。打印異常的方式會導致這種情況發生嗎?
刪除'ob_end_flush()函數;' – Grexis 2012-01-06 22:25:26
如果我刪除或用@抑制,輸出不再是實時的Chrome 16或Firefox 10.(雖然它在IE9中工作) – PaulH 2012-01-06 22:29:14
這很奇怪,但請參閱下面的答案。 – Grexis 2012-01-06 22:36:12