2011-05-05 30 views
3

我似乎試圖通過幾個小時的谷歌提供的每一個不同的建議和stackoverflow搜索無濟於事,我似乎無法壓制大量的「棄用:在「我的應用程序頂部出現的錯誤以及許多錯誤」中,不贊成使用new引用返回值。警告:魔術方法__get()(和__set())必須具有公共可見性,並且不能是靜態的。到目前爲止,我已經加入了它的下面一行,許多不同的變化,以我的php.ini文件:無法在php v5.3中禁​​止棄用的警告

error_reporting = E_ALL & ~E_DEPRECATED 
error_reporting = E_ALL^E_DEPRECATED 

我也嘗試每一個錯誤的直抑制:

error_reporting = ~E_ALL 

也無濟於事。我已經證實,通過成功調整其他設置來正確讀取php.ini文件。 我也在腳本中應用了error_reporting()函數(以上提供了所有不同的變體),沒有更多的運氣。報告的位置與抑制有什麼關係?我試過把它發佈在第一個被加載的文件的頂部,也是在執行主腳本時立即調用的所需文件的頂部,而不是它看起來在哪裏看到它。

回答

3

了一些嘗試:http://www.php.net/manual/en/errorfunc.constants.php

一切,但兩個deprecateds將8191

PS。您正在觀看/編輯/創建的應用/框架/網站可能會將錯誤報告級別設置爲E_ALL。如果是這樣,那麼您在php.ini中設置的內容並不重要,因爲它稍後會被覆蓋。

+1

error_reporting位於許多不同的文件中,在篩選30-40個文件後,刪除所有error_reporting()或包含〜E_WARNING和〜E_DEPRECATED的實例後,警告和棄用聲明停止。非常感謝! – Scott 2011-05-05 18:22:37

+0

NP。不是最佳做法:多次設置錯誤報告。好吧兩次是允許我猜(控制器所有和模板沒有)。 – Rudie 2011-05-05 19:16:31

+1

從PHP 5.2切換到5.3後,需要將E_ALL^E_NOTICE更改爲類似於'E_ALL&〜(E_DEPRECATED | E_NOTICE | E_STRICT)'的值作爲error_reporting的值 – yitwail 2012-11-09 23:32:10