PHP 已弃用的错误不会在 WordPress 仪表板上消失

Posted

技术标签:

【中文标题】PHP 已弃用的错误不会在 WordPress 仪表板上消失【英文标题】:PHP Deprecated errors won't disappear on WordPress Dashboard 【发布时间】:2012-05-30 03:29:11 【问题描述】:

TL;DR : 在我们的服务器上升级了 php,导致 WordPress 中出现了一堆已弃用的错误,尝试了一些修复,但错误不会消失。

PHP 版本:5.3.10 WordPress 版本:3.3.2

我的 WordPress 安装已经启动并运行了一段时间,没有任何抱怨。

本周,我们将服务器上的 PHP 升级到了 5.3.10,更新后,WordPress Dashboard 开始出现如下错误:

Deprecated: Assigning the return value of new by reference is deprecated in /home/random/public_html/wp-includes/class-simplepie.php on line 738

大量(我怀疑是 116 个)这样的错误(每个都在不同的行上)出现在

传入链接 WordPress 博客 插件

正如 WordPress 论坛上的许多帖子所建议的那样,我在文件级别(通过将 error_reporting(0); 添加到 wp-config.php 和/或其他文件的顶部)和使用 PHP 都禁用了错误报告.ini。 Phpinfo 确认 error_reporting = 0。

这没有效果,警告仍然显示在仪表板上。

我尝试禁用所有插件并恢复为默认主题(注意依次启用每个插件以查看是否其中一个导致问题),但错误继续出现。

接下来,我没有治疗症状,而是去看看是否可以解决问题的原因。

Getting deprecated error with Simplepie

Assigning the return value of new by reference is deprecated

指向 class-simplepie.php 里面有一些过时的语法。

在我的文本编辑器中使用查找/替换,我交换了所有 166 个实例

=& new

= new

我仍然在我的仪表板上看到错误。

所以,据我所知,不应该报告任何错误,如果有,它们也不应该出现。

Wordpress 未在调试模式下运行。

我的 phpinfo 的粘贴可以在这里找到:http://pastebin.com/Pk68sDL1 如果它对任何人有用的话。

不确定接下来要尝试什么。非常感谢任何提示。

D

【问题讨论】:

有同样的问题 - 其他在线建议的解决方案似乎也没有任何区别。期待任何解决方案。 【参考方案1】:

将此添加到 wp-config.php 文件的顶部,紧随第一个之后

error_reporting(0);

【讨论】:

已经试过了,事实上,error_reporting(0);直到我的 wp-config.php 文件的顶部。没什么区别。【参考方案2】:

我今天遇到了完全相同的问题,我也尝试了您列出的所有解决方案。最终我意识到,在我更换后

=& new

= new

在 class-simplepie.php 中,我还需要重新加载仪表板中的模块。当您只是刷新浏览器页面,甚至隐藏模块然后再次显示时,似乎不会发生这种情况。

所以我在仪表板上突出显示了传入链接模块并单击了配置。我将 RSS 提要 URL 更改为其他任何内容(google.com),点击提交,它就起作用了。刷新了该模块,不再有来自 class-simplepie.php 的弃用错误。为 Wordpress 博客模块做了同样的事情,并且也有效。

我唯一想不通的是如何刷新插件模块。它没有配置选项,我无法像其他人一样重新加载它。

编辑:插件模块现在也可以使用。只是需要时间重置。

【讨论】:

【参考方案3】:

我也收到了这些警告。我偶然发现了一位 simplepie 开发人员的消息,说这发生在 PHP5.3+ 上,并且与 PHP4 的兼容性有关。使用 simplepie v1.3-dev 会降低这种向下兼容性并修复它。

从GitHub下载

【讨论】:

【参考方案4】:

试试这个,你不会有这个错误:

error_reporting(0);
ini_set("display_errors", "off");
ini_set("display_startup_errors", "off");

或者在服务器的 php.ini 文件中设置相同的指令。

【讨论】:

以上是关于PHP 已弃用的错误不会在 WordPress 仪表板上消失的主要内容,如果未能解决你的问题,请参考以下文章

Sequelize 已弃用的错误消息

如何在最新的 XAMPP 上运行已弃用的 php 代码 [重复]

为啥在尝试将firebase添加到flutter时出现此错误“已弃用的API”

Libtorrent:声明已弃用的错误

控制台错误使用已弃用的 autoTable 启动

在 Symfony 2(.7) 中禁用已弃用的警告