2014-12-02 150 views
0

我已經設置error_reporting = none/etc/php5/apache2/php.ini並且運行sudo service apache2 restart但是當我尾巴/var/log/apache2/error.log我仍然得到像PHP Notice:xxxxxxxxxxxxx顯示出來的東西。爲什麼在php.ini中error_reporting被忽略?

這是爲什麼?

+0

'var_dump(error_reporting());'show? – 2014-12-02 09:40:23

+0

錯誤報告應該關閉而不是沒有?還有你檢查了這三個:'error_reporting = E_ALL','display_errors = off','log_errors = off' – 2014-12-02 09:52:10

+0

我的phpinfo中的error_reporting的值是22527 - 如果這就是你的意思? – James 2014-12-02 09:54:29

回答

0

你應該在你的php.ini分配0而非noneerror_reporting參數:

error_reporting=0 

error_reporting參數值是整數位掩碼,其中每一位代表不同的錯誤程度。 0表示所有錯誤級別均已關閉,包括通知。

您可以在個人的PHP腳本使用下面的語句也覆蓋默認的error_reporting值:

ini_set('error_reporting', 0); 

這將關閉所有錯誤報告關閉只有當前腳本的執行。

+0

它不起作用。我已將error_reporting更改爲0,但phpinfo仍對22527表示「本地值」(主值爲0) – James 2014-12-02 10:50:54

+1

主值是由php.ini指令設置的值。在你的情況下,這個值是0,這是正確的,因爲你在php.ini中設置了error_reporting = 0。本地值在當前腳本中被覆蓋。 phpinfo很可能會覆蓋error_reporting本身。 – 2014-12-02 11:02:02

+1

在任何情況下,我認爲你的代碼應該正常工作,因爲除非你重寫error_reporting參數,否則它將使用主值。 – 2014-12-02 11:04:15