正如许多人已经评论的那样,修复问题的根源比隐藏消息要好。也就是说,这些类型的消息永远不应该显示在生产服务器上,但是,因为您永远不知道,所以最好在所有服务器(本地开发机器、开发机器等)上禁用它们。
我们在wp config中使用以下设置。php禁用所有警告、通知、错误等的显示,然后使用tail -f wp-content/debug.log
要在工作时查看错误,请执行以下操作:
define( \'WP_DEBUG\', true );
define( \'WP_DEBUG_LOG\', true );
define( \'WP_DEBUG_DISPLAY\', false );
有时,通知不包含回溯,因此您无法看到导致消息的原因。请参见
my answer to a similar question 因为它包括如何获取此类消息的回溯跟踪的详细信息。
如果您仍然看到警告和信息等,并且在回答中遵循了我的建议,那么很可能是一个插件或主题本身正在重新启用警告和信息的显示。
WP_DEBUG_DISPLAY
是一个常量,告诉WordPress运行以下代码:
if ( WP_DEBUG_DISPLAY ) {
ini_set( \'display_errors\', 1 );
} elseif ( null !== WP_DEBUG_DISPLAY ) {
ini_set( \'display_errors\', 0 );
}
此代码位于
wp-includes/load.php
如果不是第一个,也是WordPress引导过程中包含的第一个文件之一。此代码出现在中的函数在中调用
wp-settings.php
这是wp config之后包含的第一个文件。php。在加载和执行插件之前调用此代码。
如果插件生产者ini_set( \'display_errors\', 1 )
在他们的代码中,它将覆盖你所拥有的wp-config.php
并继续显示PHP错误、警告、信息等。实际上,没有办法覆盖它。尝试在整个插件文件夹中搜索ini_set
看看你是否能认出罪犯。你可能还应该检查一下你的主题。