2010-05-10 60 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);