How do I set up Debugging?

时间:2014-08-22 作者:Murgittroyd

在我的wp配置中。php,我有:

// Enable WP_DEBUG mode
define(\'WP_DEBUG\', true);

// Enable Debug logging to the /wp-content/debug.log file
define(\'WP_DEBUG_LOG\', true);

// Disable display of errors and warnings 
define(\'WP_DEBUG_DISPLAY\', false);
@ini_set(\'display_errors\',0);
但是,调试。日志文件为空。它没有被创建,所以我创建了它,然后将其权限设置为666,但它仍然为空。有人能帮我吗?

1 个回复
SO网友:Pieter Goosen

我为这个问题使用了一个插件。即使debug设置为false,它仍会将错误以红色打印到屏幕上。

创建插件既简单又快速。

在wordpress安装中的plugins文件夹中,创建一个新文件,并可以随意调用它,例如调试器插件。php。

打开新创建的文件,将以下代码粘贴到其中并保存。(此代码来自this post 密码。塔斯普卢斯。com公司/

<?php
/*
Plugin Name: Debugger Plugin
*/
function admin_alert_errors($errno, $errstr, $errfile, $errline){

    $errorType = array (
         E_ERROR                            => \'ERROR\',
         E_CORE_ERROR           => \'CORE ERROR\',
         E_COMPILE_ERROR        => \'COMPILE ERROR\',
         E_USER_ERROR           => \'USER ERROR\',
         E_RECOVERABLE_ERROR  => \'RECOVERABLE ERROR\',
         E_WARNING              => \'WARNING\',
         E_CORE_WARNING         => \'CORE WARNING\',
         E_COMPILE_WARNING      => \'COMPILE WARNING\',
         E_USER_WARNING         => \'USER WARNING\',
         E_NOTICE               => \'NOTICE\',
         E_USER_NOTICE          => \'USER NOTICE\',
         E_DEPRECATED                   => \'DEPRECATED\',
         E_USER_DEPRECATED      => \'USER_DEPRECATED\',
         E_PARSE                => \'PARSING ERROR\'
    );

    if (array_key_exists($errno, $errorType)) {
        $errname = $errorType[$errno];
    } else {
        $errname = \'UNKNOWN ERROR\';
    }
ob_start();?>
<div class="error">
  <p>
    <strong><?php echo $errname; ?> Error: [<?php echo $errno; ?>] </strong><?php echo $errstr; ?><strong> <?php echo $errfile; ?></strong> on line <strong><?php echo $errline; ?></strong>
  <p/>
</div>
<?php
echo ob_get_clean();
}

set_error_handler("admin_alert_errors", E_ERROR ^ E_CORE_ERROR ^ E_COMPILE_ERROR ^ E_USER_ERROR ^ E_RECOVERABLE_ERROR ^  E_WARNING ^  E_CORE_WARNING ^ E_COMPILE_WARNING ^ E_USER_WARNING ^ E_NOTICE ^  E_USER_NOTICE ^ E_DEPRECATED    ^  E_USER_DEPRECATED    ^  E_PARSE );
现在,您可以随时从后端激活调试器插件。无需更改wp配置。php:-)

结束

相关推荐

为什么WP_DEBUG只在调用wp_DEBUG_MODE()之后才起作用?

调试设置为打开时,define(\'WP_DEBUG\', true); 我的WordPress实例没有显示任何调试信息。经过一番搜寻,我想在我打电话之后wp_debug_mode() 调试信息显示正确。有人能告诉我为什么打电话吗wp_debug_mode() 是必要的,因为调试documentation page 甚至没有提到这个功能?我的环境中有什么东西导致了这种情况吗?