在 WordPress 中记录错误
要调试WordPress,许多站点会告诉您将WP_DEBUG设置自己添加到wp-config.php文件中,但这可能非常有害,因为许多服务器配置将开始在您的站点页面上显示PHP错误和警告消息。大多数站点还会将任何错误记录到某种形式或错误日志中,但这并不总是它们的最佳去处。
可以添加一组调试选项,允许WordPress将任何错误或警告记录到文件中。打开您的wp-config.php文件,并在“/*就是这样,停止编辑!博客快乐。*/”的行上方添加以下代码行。对此文件的任何更改都应始终位于此行之上,以便您可以跟踪它们。
define('WP_DEBUG', true); if (WP_DEBUG) { define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors', 0); }
这些选项的作用是debug.log在wp-content目录中创建一个名为的文件。如果您的文件夹权限非常严格,那么您可能需要手动创建此文件并将该文件的权限设置为666。如果WordPress能够创建它,那么权限可能没问题,尽管您可能无法通过FTP对其进行任何操作.
此处提供的代码非常理想,因为它仅在您打开调试时创建/更新日志文件。而代码库页面上显示的代码无论如何都会继续写入日志。
为了测试这一点,我在全新的WordPress安装中将以下代码行(会产生错误)添加到TwentyTen主题中,然后加载该站点。
define ('My_CUSTOM_CONSTANT', array());
查看wp-content/debug.log文件会发现此代码产生的错误消息现在存储在此文件中。
[20-Jun-2011 17:06:56] PHP Warning: Constants may only evaluate to scalar values in /var/www/wordpress/wp-content/themes/twentyten/index.php on line 3
完成调查后,请记住关闭调试。这可以通过完全删除代码或通过将WP_DEBUG的值设置为false来完成,防止其余调试代码运行。
define('WP_DEBUG', false); if (WP_DEBUG) { define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors', 0); }
还有一些进一步的调试标志可以帮助调试JavaScript和CSS。有关更多信息,请参阅http://codex.wordpress.org/Editing_wp-config.php。
感谢MikeLittle让我知道这些选项。