未显示WordPress调试消息

时间:2017-01-30 作者:Ginchen

WordPress没有显示任何错误/调试消息,即使我对每个设置进行了双重和三重检查。

In php.ini, I have

error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = On log_errors = On track_errors = On

In wp-config.php, I have:

define(\'WP_DEBUG\', true); define(\'WP_DEBUG_LOG\', true); define(\'WP_DEBUG_DISPLAY\', true); @ini_set(\'display_errors\', 1); error_reporting(E_ALL^E_NOTICE);

但仍然没有显示任何错误。通过使用错误的PHP文件进行测试,我验证了这不是一般的PHP问题,如下所示:<?php askdjh akjdsh ?>. 错误显示正确。

1 个回复
最合适的回答,由SO网友:Ginchen 整理而成

问题是由一个插件(wp spamfree)引起的,该插件只需设置error_reporting(0).

因此,如果有人有同样的问题,我的建议是搜索整个wp-content/plugins 单词目录,如error_reporting, display_errors 并且类似于找出你的插件是否篡改了这些设置。

您可以禁用这些插件,也可以自己修复,让开发人员知道他们不应该这样做。

Fixes:

<解决这个问题的一种方法是简单地删除不需要的error_reporting(0).

然而,如果您想确保插件不会显示任何错误(我认为这很愚蠢),另一种方法是替换error_reporting(0) 具有$errlvl = error_reporting(0);.

这将在中保存您当前所需的错误报告级别$errlvl. 该功能将使用error_reporting = 0. 在函数结束时,您可以通过调用error_reporting($errlvl);.

相关推荐

当返回wp_errors或0时,如何设置条件标签

我正在提交前端帖子。我几乎完成了。在前端成功提交帖子后,我想重定向到特定页面。我正在使用此函数。wp_insert_post( array $postarr, bool $wp_error = false ) 这将返回:成功时的帖子ID。失败时的值0或WP\\U错误。$post_id = wp_insert_post( $post_data ); if( !$post_id || ?? ){ wp_redirect( site_url(\'/compledted/\')