2011-05-31 51 views
2

應該不會給出錯誤消息嗎?它發送給我domain.com/asdad/,而不是給我一個錯誤消息。即使我已輸出,也可以發送標題

<?php 
echo 'asdadasdasd'; 
if ($_SERVER['REQUEST_URI'] == '/newtest.php') { 
    header("Location: /asdad/"); 
    exit; 
} 
?> 

我直接查看,在此之前或之後沒有其他文件或代碼。應該不是header給我一個錯誤,不會發送給我的新頁面,因爲我已經輸出header之前?

回答

2

檢查您的phpinfo(),您可能已打開output_buffering

+0

'output_buffering'被設置爲4096,將其設置爲Off將其固定。謝謝。 – Marwelln 2011-05-31 19:20:54

2

與大多數IO一樣,PHP輸出通常會放入臨時緩衝區,直到達到臨界值(或用戶調用flush),此時內容將刷新到瀏覽器。如果您在輸出緩衝區刷新之前設法發送header,則可以避開它。

但是,這並不是您所依賴的,因爲緩衝區大小(或者實際上緩衝)可能因安裝而異。

相關問題