我正在尝试在我正在构建的自定义Wordpress插件中使用error_log()
,但出于某种原因,我不能。
当我使用error_log()
时,我的网站会中断,但我在debug.log
中没有看到任何错误。
我已在我的wp_config.php
文件中设置调试,如下所示:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Stranegly,如果我在我的主题中使用error_log()
,该网站不会中断,但也不会向debug.log
输出任何内容。
在Wordpress插件和主题中使用error_log()
需要做些什么?
我正在使用Wordpress 3.9.1。
答案 0 :(得分:7)
根据the Codex,WP_DEBUG_DISPLAY
默认情况下应设置为true,但似乎并非如此。
将define('WP_DEBUG_DISPLAY', true);
添加到wp_config.php
修复了错误记录。
将WP_DEBUG_DISPLAY
设置为false
会从浏览器中删除错误,但允许它们在日志中输出。
似乎Wordpress要求define('WP_DEBUG_DISPLAY');
向日志输出错误,无论您将其设置为true
还是false
。
答案 1 :(得分:2)
我有同样的问题。对我来说,评论这条线有帮助。
define( 'WP_DEBUG_LOG', true );
答案 2 :(得分:1)
您只需在wp-config.php
中添加以下代码即可启用调试功能:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
在您的debug.log
文件夹中将生成一个wp-content
文件。
如果您想记录错误而不在前端打印它们,请添加以下行:
define( 'WP_DEBUG_DISPLAY', false );
这在生产环境中非常有用,因为页面访问者将无法看到您的日志。
现在,您可以使用error_log
函数将其写入日志:
error_log( 'Hello World!' );
或者通过使用print_r
方法漂亮地打印输出:
error_log( print_r( 'Hello World!', true ) );
专业提示:如果您正在使用bash,则可以使用
查看日志tail -f wp-content/debug.log