问题描述
我的服务器正在运行 php 5.3,我的 wordpress 安装正在将这些错误发送给我,导致 my 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 。
最佳解决方案
您可以通过调用以下函数在代码中执行此操作。
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
要么
error_reporting(E_ALL ^ E_DEPRECATED);
次佳解决方案
我需要适应这个
error_reporting = E_ALL & ~E_DEPRECATED
第三种解决方案
只能得到错误,导致应用程序停止工作使用:
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING | E_DEPRECATED));
这将停止显示通知,警告和弃用错误。
第四种方案
以上所有答案都是正确的。由于没有人暗示如何关闭 php 中的所有错误,我想在这里提及:
error_reporting(0); // Turn off warning, deprecated,
// notice everything except error
有人可能会觉得有用……
第五种方案
我只是遇到一个类似的问题,一个 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 测试,但我猜这是适用于每个安装。
第六种方案
您必须编辑 php 配置文件。结束了
error_reporting = E_ALL
并替换为 error_reporting = E_ALL ^ E_DEPRECATED
如果您无法访问配置文件,您可以将此行添加到 php wordpress 文件 (也可以是 headers.php)
error_reporting(E_ALL ^ E_DEPRECATED);
第七种方案
在文件 wp-config.php 中,您可以找到常量 WP_DEBUG,确保它设置为 false 。
define('WP_DEBUG', false);
这是针对 wordpress 3.x
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。