2012-07-11 46 views
1

Zend正在自動抑制通知,我怎麼能改變這個應用程序廣泛的停止執行時發生通知?如何關閉Zend中的通知抑制?

例如,未定義的變量或缺少的參數(會導致未定義的變量)將在錯誤日誌中顯示通知。如果此通知發生在寫入數據庫的方法中,則不會寫入數據,也不會顯示錯誤。

回答

2

檢查application/configs/application.ini中的PHP錯誤設置。典型的設置是這樣的:

[production] 
phpSettings.display_startup_errors = 0 
phpSettings.display_errors = 0 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

這意味着隱藏生產模式的錯誤,但在開發中顯示。

+0

錯誤發展部讀取配置都顯示正常,通知是不。我也在開發模式。 – Sturm 2012-07-11 17:12:53

+0

在這種情況下,請檢查php.ini中的error_reporting級別。默認情況下,ZF不會更改此設置。 – 2012-07-11 17:24:16

+0

我的php.ini中的error_reporting級別很好。類似方法調用中缺少的參數或未定義的變量不會觸發任何內容。我已經在freenode上的#php的傢伙經過ini,這是正確的。 – Sturm 2012-07-11 17:57:31

0

確保您處於「開發」模式而不是「生產」。

檢查index.phppublic文件夾:

defined('APPLICATION_ENV') || define('APPLICATION_ENV',(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV'): 'production')); 

只是改變productiondevelopment,因爲這將導致從application/configs/application.ini

[production] 
phpSettings.display_startup_errors = 0 
phpSettings.display_errors = 0 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
+0

錯誤顯示正常,通知不正確。我也在開發模式。 – Sturm 2012-07-11 17:13:19

+0

嗯,怪異!你有沒有嘗試把'error_reporting(-1);'放入'index.php'中? – Songo 2012-07-11 19:54:19

+0

error_reporting(0);在index.php的最初開始爲我工作。 – Shakeel 2013-11-04 10:32:45