137

我的服务器正在运行 PHP 5.3,而我的 WordPress 安装正在向我吐出这些错误,导致我的 session_start() 中断。

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。

4

9 回答 9

225

您可以通过调用以下函数在代码中执行此操作。

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

或者

error_reporting(E_ALL ^ E_DEPRECATED);
于 2010-05-10T15:14:00.603 回答
27

要仅获取导致应用程序停止工作的错误,请使用:

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

这将停止显示通知、警告和已弃用的错误。

于 2012-02-24T07:38:01.040 回答
24

我需要适应这个

error_reporting = E_ALL & ~E_DEPRECATED
于 2010-08-21T09:22:10.330 回答
13

我刚刚遇到了一个类似的问题,一个 SEO 插件发出大量警告,使我的博客磁盘使用量超过了计划限制。

我发现您必须在 wp-config.php 文件中的 wp-settings.php 要求之后包含 error_reporting 命令:

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

通过这样做,您的错误日志文件中不会再附加警告、通知或不推荐的行!

在 WordPress 3.8 上测试过,但我猜它适用于每个安装。

于 2014-03-28T18:11:46.237 回答
11

前面的所有答案都是正确的。由于没有人暗示过如何关闭 PHP 中的所有错误,我想在这里提一下:

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

有人可能会觉得它有用...

于 2011-10-09T02:44:35.270 回答
10

您必须编辑 PHP 配置文件。找到线

error_reporting = E_ALL

并将其替换为:

error_reporting = E_ALL ^ E_DEPRECATED

如果您无权访问配置文件,您可以将此行添加到 PHP WordPress 文件(可能是 headers.php):

error_reporting(E_ALL ^ E_DEPRECATED);
于 2010-05-10T15:15:52.647 回答
10

在文件 wp-config.php 中,您可以找到常量 WP_DEBUG。确保将其设置为 false。

define('WP_DEBUG', false);

这适用于 WordPress 3.x。

于 2013-01-24T13:18:13.397 回答
4

我倾向于使用这种方法

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

这样我就不会意外关闭我需要的东西

于 2017-02-10T11:04:17.330 回答
-3

当您更改 php 版本时会发生此错误:抑制此错误消息非常简单

To suppress the DEPRECATED Error message, just add below code into your index.php file:

init_set('display_errors',False);

于 2017-12-16T10:00:35.753 回答