2010-05-10 59 views
108

我的服務器正在運行php 5.3,而我的wordpress安裝正在將這些錯誤吐出來,導致我的session_start()中斷。關閉不推薦使用的錯誤php 5.3

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 647 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 662 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 669 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 676 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 712 

這很討厭,但我不想關閉屏幕錯誤報告。如何禁用這些令人厭煩的棄用警告?

我正在運行Wordpress 2.9.2。

+0

是不是3.3.1當前最新版本的wordpress? – Shadur 2012-03-12 10:04:26

+0

他似乎喜歡舊的WordPress與舊的PHP – Qchmqs 2012-06-07 01:02:02

回答

168

您可以通過調用以下函數在代碼中執行此操作。

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 

error_reporting(E_ALL^E_DEPRECATED); 
+0

謝謝羅布斯,這是否會殺死任何PHP錯誤報告? – atwellpub 2010-05-10 15:16:04

+6

不,第一個基本上告訴php顯示ERROR/WARNING/PARSE/NOTICE錯誤,第二個告訴php顯示除了DEPRECATED之外的所有錯誤。 – Robus 2010-05-10 15:17:26

+2

它不起作用 – 2014-10-25 04:04:09

6

你必須編輯PHP配置文件。鰭線

error_reporting = E_ALL 

error_reporting = E_ALL^E_DEPRECATED

替換如果您沒有訪問配置文件,您可以將此行添加到PHP文件WordPress的(也許headers.php)

error_reporting(E_ALL^E_DEPRECATED); 
+0

把它加到'wp-config.php'中會好很多,它的目的是用配置設置進行編輯 – Nilpo 2017-03-19 00:12:05

22

我需要這個適應

error_reporting = E_ALL & ~E_DEPRECATED 
14

以上所有答案都是正確的。既然沒有人已經暗示瞭如何關閉在PHP中所有的錯誤,我想在這裏提到它:

error_reporting(0); // Turn off warning, deprecated, 
        // notice everything except error 

有人可能會發現它有用......

17

只得到錯誤的導致應用程序停止工作使用:

error_reporting(E_ALL^(E_NOTICE | E_WARNING | E_DEPRECATED)); 

這將停止顯示通知,警告和不建議使用的錯誤。

7

在文件wp-config.php中可以找到常量WP_DEBUG,請確保它設置爲false。

define('WP_DEBUG', false); 

這是爲WordPress 3.X

+0

謝謝你,這是額外的步驟我需要 – 2016-05-14 04:07:42

9

我只是面對一個地方SEO插件發出讓我的博客磁盤使用警告的大數目了類似的問題,超過計劃的限制。

我發現你必須包括使用error_reporting命令後的WP-settings.php文件需要在wp-config.php文件:

require_once(ABSPATH .'wp-settings.php'); 
    error_reporting(E_ALL^(E_NOTICE | E_WARNING | E_DEPRECATED)); 

通過這樣做,沒有更多的警告,通知也不會將廢棄的行添加到錯誤日誌文件中!

經過WordPress 3.8測試,但我想它適用於每一個安裝。

+0

不錯,這可以解決問題 – Alex 2017-04-12 19:17:49

1

我傾向於使用這種方法

$errorlevel=error_reporting(); 
$errorlevel=error_reporting($errorlevel & ~E_DEPRECATED); 

這樣,我不關閉意外的東西,我需要當你改變你的PHP版本

+1

這樣可以減少對你的控制,你認爲當前配置的任何東西都是正確的,最好直接根據需要設置,這樣你就不會重疊配置 – Nilpo 2017-03-19 00:13:46

+0

理解。情況是不同的。 – realtebo 2017-03-19 16:47:26

0

會出現這樣的錯誤:它是非常簡單的抑制這種錯誤消息

爲了抑制廢棄的錯誤消息,只需添加下面的代碼到你的index.php文件:

init_set('display_errors',False);