2010-09-30 71 views
3

這裏是我的代碼:PHP不會顯示任何錯誤

echo 'foo'; 

error_reporting(E_ALL); 

echo 'this line doesnt end in a semi colon' 

echo 'i should get an error here'; 

當我運行此我沒有得到任何錯誤。

不知道這是怎麼回事?

+1

我是唯一一個喜歡「尾巴-f」錯誤日誌的人嗎? :-) – prodigitalson 2010-09-30 13:52:23

+2

@prodigitalson取決於網站的狀態。對於developnemt我更喜歡屏幕上 – 2010-09-30 13:58:13

+0

'我沒有錯誤。 '意味着'我打印所有3行'或'我得到一個空白屏幕'? – 2010-09-30 14:03:08

回答

12
ini_set('display_errors', 1); 

請注意,如果您在具有語法錯誤的文件中執行此操作,它將不起作用,因爲它永遠不會執行。您還可以設置在php.ini(不建議在生產服務器上),或者如果你使用Apache,在.htaccess本真:

php_flag display_errors 1 
+0

因此php_flag display_errors 1應該顯示所有錯誤allways? (導致它不是我的情況) – 2012-05-31 00:14:01

+0

不,它只會告訴你顯示錯誤。 'error_reporting'配置值決定顯示哪些錯誤。 – 2012-05-31 07:45:10

0

你有什麼樣的關閉掛鉤,錯誤處理功能或全局異常捕獲器運行?

語法錯誤,就會在大的框架是古怪:)

2

error_reporting指令,也不會幫助你在屏幕上會顯示錯誤消息。它負責其中錯誤顯示,而不是其中

如果你的PHP運行作爲Apache模塊(最有可能它)添加以下行.htaccess文件:

php_value display_errors 1 

當您切換到生產,將其更改爲

php_value display_errors 0 
php_value log_errors 1 

和手錶他們在錯誤日誌中。