Debugging 简单的MediaWiki扩展调试

Debugging 简单的MediaWiki扩展调试,debugging,mediawiki,Debugging,Mediawiki,我正在尝试编写我的第一个MediaWiki扩展,需要一些方法来调试它。最简单的方法是什么?显示消息、登录文件等都可以。我只想慢慢地浏览代码,看看代码在哪里中断,变量的内容是什么 我试过了 在extensions/myext/myext.php中,并添加到LocalSettings.php require_once( 'extensions/myext/myext.php' ); # debugging on $wgDebugLogGroups = array( 'myext'

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

我试过了

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

require_once( 'extensions/myext/myext.php' );
# debugging on
$wgDebugLogGroups = array(
     'myext'     => 'extensions/myext/myextension.log'
);
但是我的维基根本不起作用(错误500)。从myext.php中删除上述代码后,一切都很好(myext.php中有$wgExtensionCredits,我可以在Special:Version中看到myext)


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

500表示您在某个地方有语法错误或配置错误。您是否遵循了上的说明并打开了PHP日志记录,这样您至少可以看到导致错误的原因?或者,查看您的Apache服务器日志


此外,您还需要在加载自己的扩展之前启用调试

将这些添加到
LocalSettings.php
进行调试:

error_reporting( -1 );
ini_set( 'display_startup_errors', 1 );
ini_set( 'display_errors', 1 );

$wgShowExceptionDetails=true;
$wgDebugToolbar=true;
$wgShowDebug=true;
$wgDevelopmentWarnings=true;
$wgDebugDumpSql = true;
$wgDebugLogFile = '/tmp/debug.log';
$wgDebugComments = true;
$wgEnableParserCache = false;
$wgCachePages = false;
您可以使用
wfDebug()记录调试消息


了解更多信息谢谢,这是一个很好的观点!目前,wiki的安装普遍存在一些问题。可能在我的修改和系统的整体功能之间有一些重叠。
error_reporting( -1 );
ini_set( 'display_startup_errors', 1 );
ini_set( 'display_errors', 1 );

$wgShowExceptionDetails=true;
$wgDebugToolbar=true;
$wgShowDebug=true;
$wgDevelopmentWarnings=true;
$wgDebugDumpSql = true;
$wgDebugLogFile = '/tmp/debug.log';
$wgDebugComments = true;
$wgEnableParserCache = false;
$wgCachePages = false;