2009-04-21 72 views

回答

9

您需要同時設置error_reportingdisplay_errors。這些可以在php.ini,Apache(如果您使用PHP作爲Apache模塊)或運行時設置,但如果您在運行時設置它,那麼它不會影響某些類型的錯誤,例如作爲解析錯誤。

對於便攜性 - 也就是說,如果你要設置這個應用程序 - 嘗試在一個.htaccess設置它們:

# note: PHP constants such as E_ALL can't be used when setting it in Apache 
php_value error_reporting 2147483647 

php_flag display_errors on 

或者,也可以在httpd.conf中設置這些

的display_errors確保所有報告的錯誤實際輸出到瀏覽器(在實時服務器上,通常將它們記錄到文件中)。 error_reporting指定應記錄/顯示哪些類型的錯誤。

對於直播服務器,通常不要公開顯示錯誤(但您可能仍想記錄它們)是一個好主意。無論哪種方式,將error_reporting設置爲更具包容性的值仍然是一個好主意(2147483647是現在和未來根據PHP文檔可能的最具包容性的值),因爲忽略錯誤通常是一個壞主意。

1

找到php.ini文件,向下滾動,而讀的意見。有一個啓用/禁用錯誤輸出的全局設置。相應地更改它。重新啓動你的Apache。

2

首先點擊任務面板中的wamp圖標。然後點擊'PHP'文件夾,然後點擊'PHP settings'文件夾。確保「公開PHP」和「顯示錯誤」都被檢查。您還可以設置其他錯誤設置,如「跟蹤錯誤」和「顯示啓動錯誤」。

0

打開您的php.ini並搜索選項error_reporting

將其更改爲E_ALL & ~E_NOTICE

這將顯示所有的錯誤和警告,但沒有通知。

就我個人而言,我總是在我的開發機器上使用E_ALL,因爲通常這些通知是潛在的代碼問題的標誌。

+0

我確實會留下通知。很高興知道您何時使用未定義的變量,因爲它們通常意味着您輸入了錯字。 – 2009-04-21 07:19:26

1

我一直使用此代碼:

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

如果您在使用OOP PHP編寫代碼,然後創建新methond showError()並調用它在每一個文件,你需要的。

0

如果有人在使用CodeIgniter,則在控制器的構造函數中傳遞此代碼。這將解決您的問題。

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
相關問題