我在开发环境中使用WP\\u DEBUG\\u LOG,没有调试问题。日志位于wp内容目录中。
有时,当我需要调试某些内容时,我会在生产环境中打开WP\\u DEBUG,我仍然希望使用日志,但希望将其重定向到web根目录以外的内容。是否可以使用WP\\U DEBUG\\U日志?
我在开发环境中使用WP\\u DEBUG\\u LOG,没有调试问题。日志位于wp内容目录中。
有时,当我需要调试某些内容时,我会在生产环境中打开WP\\u DEBUG,我仍然希望使用日志,但希望将其重定向到web根目录以外的内容。是否可以使用WP\\U DEBUG\\U日志?
事实证明,WP\\u DEBUG\\u LOG所做的全部工作是:
ini_set( \'log_errors\', 1 );
ini_set( \'error_log\', WP_CONTENT_DIR . \'/debug.log\' );
因此,如果要在插件或主题中更改WP\\u DEBUG\\u log的日志位置,webaware\'s answer 是最好的。如果你只想在wp-config.php
您可以替换define( \'WP_DEBUG_LOG\', true );
使用以上两行,并将日志文件更改为任何您想要的位置。对于WP 5.1版及以上版本,这里的大多数答案似乎不再正确,因为发生了以下变化:https://make.wordpress.org/core/2019/01/23/miscellaneous-developer-focused-changes-in-5-1/
现在可以定义WP_DEBUG_LOG
作为中的路径wp-config.php
如果要覆盖默认值wp-content/debug.log
例如:
define( \'WP_DEBUG_LOG\', \'wp-content/uploads/debug.log\' );
是的,如果您向插件或主题函数添加一些代码。php类似:
if (defined(\'WP_DEBUG_LOG\') && WP_DEBUG_LOG) {
ini_set( \'error_log\', WP_CONTENT_DIR . \'/debug.txt\' );
}
编辑:其他人刚刚向我提出了这样做的需要,所以我把一些代码放到了一个简单的插件中,他们可以编辑;它可以作为gist 如果有人想要的话。时代在变,技术问题的正确答案也在变。
截至2019年末,目前的答案很简单。在WP config中定义WP\\U DEBUG\\U日志“常量”时。php,您现在可以提供一个要在其中写入文件的路径。
define( \'WP_DEBUG_LOG\', \'/tmp/wp-errors.log\' );
自上次发布此问题的答案以来,WordPress代码似乎已更改。与这些常量相关的当前wp\\u debug\\u mode()函数包括一个测试,测试wp\\u debug\\u LOG是否等于true或1,在这种情况下,它的行为与其他人所描述的一样。
但是,您也可以将该常量设置为字符串(您首选的文件路径),日志将在那里输出。例如,您可以将其设置为可公开访问的web内容的目录之外的路径。您可能需要使用文件权限才能使其正常工作。
我来寻找这个答案是因为WordFence安全插件抱怨我的调试日志可能在/wp内容中被访问/
if ( in_array( strtolower( (string) WP_DEBUG_LOG ), array( \'true\', \'1\' ), true ) ) {
$log_path = WP_CONTENT_DIR . \'/debug.log\';
} elseif ( is_string( WP_DEBUG_LOG ) ) {
$log_path = WP_DEBUG_LOG;
} else {
$log_path = false;
}
好了,您不能更改默认调试文件的位置。您可以更改的是MU错误日志的位置以及PHP错误日志文件的位置。
$ds = DIRECTORY_SEPARATOR;
# DEBUG
define( \'WP_DEBUG\', true );
// file: ~/WP_CONTENT_DIR/debug.log
define( \'WP_DEBUG_LOG\', true );
define( \'WP_DEBUG_DISPLAY\', true );
define( \'SAVEQUERIES\', true );
# DEBUG: MU
define( \'DIEONDBERROR\', true );
define( \'ERRORLOGFILE\', WP_CONTENT_DIR.$ds.\'logs\'.$ds.\'mu_error.log\' );
@ini_set( \'log_errors\', \'On\' );
# PHP Error log location
@ini_set( \'error_log\', WP_CONTENT_DIR.$ds.\'logs\'.$ds.\'php_error.log\' );
您好,我正在使用XDEBUG调试我的WordPress代码,调试时是否可以在浏览器中查看页面构建?此时,页面将一直挂起,直到调试过程完成,然后显示完全呈现的页面。理想情况下,我希望在调试主题代码时看到页面一点一点地构建起来。