2017-06-15 33 views
-1

我最近使用新的PHP版本切換主機。我從插件(日曆)得到一個錯誤,它不會消失。這是導致0問題的非靜態方法錯誤,如果不嘗試使用其他插件,則無法修復它。我現在只需要它就消失了,所以這個醜陋的消息不會顯示在每個頁面上,我會在稍後進行調試。我試過禁用錯誤,將每個調試設置都設置爲0,但這個錯誤信息不會消失!它向每個人展示。我錯過了什麼設置?在ExpressionEngine中隱藏PHP錯誤

我已經設置在index.php調試= 0

我已經設置的config.php $配置[ '調試'] = 0;

我在的display_errors額外的ini_set添加和使用error_reporting 0

我仔細檢查過,在配置文件編輯和輸出和調試頁面設置中顯示0

爲什麼不是活得t這些設置有效嗎?我使用EE 2.5.5

+0

你在'php.ini'中設置了什麼'error_reporting' – RiggsFolly

+0

看起來像是22527.並且display_errors被設置爲off。我有error_reporting(0);和ini_set('display_errors',0);在index.php和config.php文件中 – Regnant

+0

不是很有幫助:我曾經與ExpressionEngine一起工作過,而且我可憐你。快速谷歌:如果登錄用戶在超級管理員組中,ExpressionEngine將只向瀏覽器報告PHP錯誤。你是否也看到這些錯誤不是超級管理員? – Rienk

回答

0

你所尋找的是錯誤抑制,你可以找到更多的信息就可以了here
代碼示例

class foo { 
    public function bar() { 
     echo 1; 
    } 
} 
foo::bar(); // Strict standards: Non-static method foo::bar() should not be called statically 
@foo::bar(); // no warning 

@符號將抑制導致任何錯誤打屁股。

+0

這是怎麼回事一個非靜態方法錯誤 – RiggsFolly

+0

真的沒有一個地方讓我把這個我認爲?正如RiggsFolly所說,由於新版本的PHP版本,這是一個非靜態方法錯誤。 – Regnant

+0

好吧,我會假設它不會造成致命錯誤,只是發出警告。如果您在調用之前添加@,則應該從超出範圍的方法中禁止顯示警告。我已經更新了我的答案以反映,我可能會誤解這個問題:/ –