對於在腳本開頭從 ob_get_level 取得 "1" 作為返回值感到困惑的使用者:這可能意味著 PHP ini 指令 "output_buffering" 並未設為 off / 0。如果此指令未關閉,PHP 會自動為所有腳本啟動輸出緩衝(如同在腳本的第一行呼叫 ob_start)。
如果您的腳本可能在任何伺服器上運行,並且您不希望最終使用者必須設定他們的 INI,您可以在腳本開頭使用以下程式碼來停止已啟動的輸出緩衝:
<?php
if (ob_get_level()) ob_end_clean();
?>
或者,如果您總是希望在腳本開頭有一個輸出緩衝區,您可以使用相反的程式碼:
<?php
if (!ob_get_level()) ob_start();
?>