我注意到在運行時使用php的error_reporting函數似乎會導致它報告以前發生的通知。php調用error_reporting報告以前的嚴格通知
這是設計,還是有辦法阻止它?
$er = error_reporting(E_ERROR);
$m = new MyClass();
$m->myFunction();
//error_reporting($er);
在上面的代碼,myFunction()
調用,提出警告和/或「嚴格」的告示第三方代碼。如果最後一行被註釋掉,則不會返回這些警告和通知。但是,如果我取消該行的註釋,以便錯誤報告可以恢復正常,那麼將在此處報告嚴格的通知,但不報警。
更新 我想,這是不是一個error_reporting
問題,我原本以爲,而是與梨,我使用的第三方代碼的問題。
請參見我的文章在php pear mail extension raises strict notices
這不是error_reporting的工作原理。最有可能的是,您稍後也會使用該代碼。 – Wrikken 2013-05-01 19:55:13
@wrikken - 不太清楚你的意思。 'error_reporting'函數應該確定哪些類型的錯誤是在運行時不顯示的 – 2013-05-01 20:12:55
是的,但它不會'保存'錯誤以後,這就是我的意思。如果通過取消該行的註釋來獲得錯誤,那麼錯誤會在該行之後發生。 – Wrikken 2013-05-01 20:14:17