WordPress 的调试日志不起作用

LLM*_*LLM 6 debugging wordpress logging

我想启用 WordPress 站点的调试日志,在 wp-config.php 添加以下设置

/* WordPress debug mode for developers. */
define('WP_DEBUG', true);
if (WP_DEBUG) {
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
}
Run Code Online (Sandbox Code Playgroud)

在 wp-content 文件夹下创建了 debug.log 文件。

更新了 wp-content 和 debug.log 上的 777。

但文件仍然是空白..

请让我知道如何解决它...

只是我想调试网站,有时主页会陷入无限循环..即浏览器无法加载页面..CPU 达到 100%...

谢谢

Ale*_*ock 2

你有@ini_set('display_errors', 0);- 这将告诉 PHP(不是 WordPress)停止显示错误。WordPress 需要打开错误才能将它们传递到适当的位置。define('WP_DEBUG_DISPLAY', false);或者define('WP_DEBUG', false);应该为您将它们隐藏在前端。

另外,您只需要定义常量,不需要您创建的 IF 语句。您实质上说的是“打开错误报告。现在,如果错误报告已打开,请执行此操作。” - 虽然逻辑上是正确的,但它很冗长。只需将 WP_DEBUG 常量定义为 true 就足够了,因为 WordPress 将完成其余的工作。

另外 - 如果 wp_debug.log 不存在 - WordPress 将为您创建它(具有正确的权限),假设它有权在您的服务器上执行此操作(在大多数情况下这是正确的)。因此 - 您不需要更改 wp-content 或其子项的 CHMOD 值。我建议您将它们更改为 WordPress 的推荐值(文件夹为 755,文件为 644) - 因为 CHMOD 值 777 是非常鲁莽的。

您应该只需要以下内容:

define('WP_DEBUG', true); // Turn on WP Debugging
define('WP_DEBUG_LOG', true); // Log errors to wp_debug.log
define('WP_DEBUG_DISPLAY', false); // Turns off error reporting on the front end
Run Code Online (Sandbox Code Playgroud)