剛接觸到ob_start(),網路上說把ob_start()刪除會出現錯誤,"Header had all ready send by" 但為何我測試後畫面還是正常轉跳,而且也沒有出現錯誤呢?
<?php
//ob_start(); //打開緩衝區
echo "Hello"; //輸出
header("Location:test2.php"); //把瀏覽器重定向到index.php
ob_end_flush();//輸出全部內容到瀏覽器
?>
1.已經出現警告了,不過因為跳到新的頁面,所以就看不到這個警告,因為畫面整個刷新了~~~
看php_error.log裡面的資訊會比較準確
2.php服務有問題(我遇過一次,超級無理頭),怎麼改都不會出錯,但也都保持舊畫面....
摸索超久,怒把apache關掉重啟動才出現錯誤與後來修改的畫面....(想翻桌又不能翻)
...你都打開輸出緩衝了,輸出跟header都是寫到緩衝裡,直到ob_end_flush()
才真正輸出,當然沒錯誤囉。