P粉4398045142023-07-31 09:13:23
以下是您可以排除故障並解決此問題的方法:
檢查指定的行:警告訊息顯示輸出始於/some/file.php的第12行,並且您在第23行嘗試修改頭部資訊。轉到這些行,並確保在第23行的header()函數呼叫之前沒有任何空格、echo、print、HTML或其他輸出。
刪除任何前導空格:如果在目前檔案之前包含或需要任何PHP檔案(例如使用include或require),請確保這些檔案在開頭的<?php標記之前沒有任何前導空格。 PHP標記以外的空格被視為輸出,可能會導致此警告。
避免使用關閉的PHP標記:在僅包含PHP程式碼(沒有HTML)的PHP檔案中,通常會建議省略檔案結尾的關閉PHP標記(?>)。這樣可以確保在關閉標記後沒有意外的空格或字符,以避免觸發輸出。
使用輸出緩衝:如果在header()呼叫之前有一些無法避免的輸出(例如由於函式庫依賴或條件語句),您可以使用輸出緩衝來捕獲輸出並防止其立即傳送到瀏覽器。在PHP腳本的開頭使用ob_start()開始輸出緩衝,在header()呼叫之前使用ob_end_flush()或ob_end_clean()結束輸出緩衝。
使用輸出緩衝的範例:
<?php ob_start(); // Start output buffering // Code that generates output (if any) // Now, set the headers header('Location: new_page.php'); exit(); ob_end_flush(); // Send the output to the browser ?>