简单的 MediaWiki 扩展调试

tex*_*nic 5 debugging mediawiki

我正在尝试编写我的第一个 MediaWiki 扩展并且需要某种方法来调试它。最简单的方法是什么?显示消息、登录文件等就可以了。我只想慢慢地研究代码,看看它在哪里中断以及变量的内容是什么。

我试过(来自http://www.mediawiki.org/wiki/Manual:How_to_debug#Useful_debugging_functions

// ...somewhere in your code
if ( true ) {
    wfDebugLog( 'myext', 'Something is not right: ' . print_r( 'asdf', true ) );
}
Run Code Online (Sandbox Code Playgroud)

在 extensions/myext/myext.php 并添加到 LocalSettings.php

require_once( 'extensions/myext/myext.php' );
# debugging on
$wgDebugLogGroups = array(
     'myext'     => 'extensions/myext/myextension.log'
);
Run Code Online (Sandbox Code Playgroud)

但后来我的 Wiki 根本不起作用(错误 500)。将上述代码从 myext.php 中删除后,一切正常(在 myext.php 中使用 $wgExtensionCredits,我可以在 Special:Version 中看到 myext)。

这是正确的做法(那么错误是什么)还是有更好/更简单的开始方式?

jpa*_*kal 2

500 表示您在某处有语法错误或配置错误。您是否按照手册:如何调试并打开 PHP 日志记录中的说明进行操作,以便您至少可以看到导致错误的原因?或者,查看您的 Apache 服务器日志。

另外,您需要在加载自己的扩展之前打开调试!