2012-12-12 59 views
1

可能重複:
header() error not shown in php我不能看到一些PHP錯誤

/etc/php5/apache2/php.ini文件有一個配置:

display_errors = On 
log_errors = On 
error_reporting = E_ALL | E_STRICT 

,我可以看到類似的錯誤Undenifed variableParse error等,但在下一個代碼中我不能看到Headers already sent錯誤。此外,通過Chrome的開發人員工具,我可以看到設置了標頭hola: adios。 我怎麼能看到這些類型的錯誤? 謝謝。

+2

您對自動輸出緩衝,因此,沒有錯誤.... – Wrikken

+0

@Wrikken我在php.ini中已經設置'output_buffering = Off'並重新啓動Apache的,但沒有什麼區別。 –

+0

那麼,在這種情況下,什麼是phpinfo()函數在確切點說的輸出緩衝器,錯誤報告的水平,顯示錯誤的設置等。 ? – Wrikken

回答

0

它沒有顯示你的錯誤,因爲它不是! 功能是

header(string,replace,http_response_code) 

其中字符串可以是任何你想設置爲標題字段:值。沒有可以使用或不能使用的列表。您始終可以擁有自定義標題字段。

檢查手冊 - http://php.net/manual/en/function.header.php

<?php 
header('inappropriate stuff'); 
?> 

試試這個,你不會得到在頭包東西。因爲PHP不能找到一個冒號「:」作爲與值分開的頭字段的字符串中的分隔符。

注意:如果您計劃在會話中使用它,session_start()必須是在執行開始時運行的第一個函數。

+1

你錯過了這一點,它不是關於頭的種類,而是在調用'header'之前已經輸出了html的事實。 – jeroen

+0

-1,注意你的語言。 – Charles

+0

可能是我沒有得到他試圖通過這個問題反映的觀點。但是,這讓我想知道爲什麼它沒有顯示錯誤。是的。輸出緩衝.. –