本文介紹了PHP 錯誤:ob_flush() [ref.outcontrol]:未能刷新緩沖區.沒有緩沖區可以刷新的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
有人可以保存這兩個文件并運行它們并告訴我為什么我收到錯誤ob_flush() [ref.outcontrol]: failed to refresh buffer. No buffer to refresh".我試著用谷歌搜索,它說我必須使用 ob_start();但是當我這樣做時,它不會逐行打印出來,而是在完成后從 FOR 循環中返回整個對象.我對 PHP 有點陌生,所以我不知道還有什么地方可以看..
test_process.php
//這個腳本會將 1 到 100 的數字寫入文件//并不斷向用戶發送信息$fp = fopen('/tmp/output.txt', 'w') or die('打開失敗');設置時間限制(120);忽略用戶中止(真);for( $i = 0; $i <100; $i++){echo "<script type="text/javascript">parent.document.getElementById('foo').innerHTML += 'Line $i<br/>';</script>";回聲 str_repeat('', 2048);沖洗();ob_flush();睡眠(1);fwrite( $fp, "$i
");}fclose($fp);
ma??in.html
<頭><script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript" charset="utf-8"></script><style type="text/css" media="screen">.msg{ 背景:#aaa;填充:.2em;邊框底部:1px #000 實心}.new{ 背景色:#3B9957;}.error{ 背景色:#992E36;}</風格>頭部><身體><iframe id="loadarea" width="1024px" height="768px"></iframe><br/><腳本>功能助手(){document.getElementById('loadarea').src = 'test_process.php';}函數殺死(){document.getElementById('loadarea').src = '';}<input type="button" onclick="helper()" value="Start"><input type="button" onclick="kill()" value="停止"><div id="foo"></div>