在已經升級到PHP 5.3,我的應用程序與淹沒PHP 5.3:「...的宣言應該是兼容,在... ...」錯誤
「的...宣言應該是兼容...「
樣式錯誤。我瞭解這些錯誤的性質,但我希望禁用它們。
error_reporting
setting in php.ini是"E_ALL & ~(E_NOTICE | E_DEPRECATED)"
,但此錯誤繼續顯示。我認爲它包含在E_STRICT
中,但我錯了嗎?
在已經升級到PHP 5.3,我的應用程序與淹沒PHP 5.3:「...的宣言應該是兼容,在... ...」錯誤
「的...宣言應該是兼容...「
樣式錯誤。我瞭解這些錯誤的性質,但我希望禁用它們。
error_reporting
setting in php.ini是"E_ALL & ~(E_NOTICE | E_DEPRECATED)"
,但此錯誤繼續顯示。我認爲它包含在E_STRICT
中,但我錯了嗎?
這是一個E_STRICT
錯誤。更改您的php.ini設置爲E_ALL & ~(E_NOTICE | E_DEPRECATED | E_STRICT)
...
但它應該被默認關閉(它不包括在E_ALL
中)。所以如果你得到了它們,這意味着它正在被打開。問題是,在哪裏?在文件的任何位置是否聲明error_reporting(...)
?如果是這樣,請檢查它們。如果沒有,那麼確保你正在編輯正確的php.ini文件(檢查phpinfo()
)...你總是可以做一個grep
爲E_STRICT
試圖找到它被打開的地方...
讓我告訴你一個很好的設置。
您可以更改php.ini
,在此文件中,您可以搜索一個句子爲ignore_repeated_errors = Off
,您應該將狀態更改爲開啓狀態。
如果您還遇到相同類型的錯誤,應該設置錯誤級別常量。
不是說它是什麼類型的錯誤? – 2010-10-25 17:29:00
這些確實是'E_STRICT'錯誤,但是IMO應該修復他們的原因而不是他們的報告。保持您的代碼清潔。 – Gordon 2010-10-25 17:58:17
這不是乾淨的代碼問題。該錯誤是子類的方法具有比父類中的相同方法多的參數的結果。特別是,它是控制器類的_defaultAction()函數。擴展的默認操作可能很好地接受父類不支持的參數。我可以很容易地使用func_get_args()來解決這個問題,但是然後方法聲明完全沒有相關的含義。 – Ethan 2010-10-25 18:09:11