MediaWiki MWException - 全局默认“”对于字段 stubthreshold 无效

MediaWiki MWException - Global default '' is invalid for field stubthreshold

当我在 CentOS 上托管的本地 MediaWiki (1.26.3) 中单击首选项 link 时,我收到以下错误:

Internal error
[fbd0dcc9] /index.php/Special:Preferences MWException from line 149 of /var/www/mediawiki-1.26.3/includes/Preferences.php: Global default '' is invalid for field stubthreshold
Backtrace:

#0 /var/www/mediawiki-1.26.3/includes/Preferences.php(101): Preferences::loadPreferenceValues(User, RequestContext, array)
#1 /var/www/mediawiki-1.26.3/includes/Preferences.php(1264): Preferences::getPreferences(User, RequestContext)
#2 /var/www/mediawiki-1.26.3/includes/specials/SpecialPreferences.php(67): Preferences::getFormObject(User, RequestContext)
#3 /var/www/mediawiki-1.26.3/includes/specialpage/SpecialPage.php(384): SpecialPreferences->execute(NULL)
#4 /var/www/mediawiki-1.26.3/includes/specialpage/SpecialPageFactory.php(553): SpecialPage->run(NULL)
#5 /var/www/mediawiki-1.26.3/includes/MediaWiki.php(281): SpecialPageFactory::executePath(Title, RequestContext)
#6 /var/www/mediawiki-1.26.3/includes/MediaWiki.php(714): MediaWiki->performRequest()
#7 /var/www/mediawiki-1.26.3/includes/MediaWiki.php(508): MediaWiki->main()
#8 /var/www/mediawiki-1.26.3/index.php(41): MediaWiki->run()
#9 {main}

感谢任何解决问题的帮助。

出现此错误的原因有很多,但最常见的可能是 LocalSettings.php 中的 $wgDefaultUserOptions 中的值无效或缺失。

可以像这样更改默认用户设置:

$wgDefaultUserOptions['editsection'] = 0;

但是,如果您添加如下内容:

$wgDefaultUserOptions = array( 'editsection' => 0, 'watchdefault' => 1, 'watchmoves' => 1, ... );

虽然一切似乎都运行良好,因为您现在已经覆盖了整个默认数组,但下次在 MediaWiki 上的软件中添加新用户设置时,您可能会 运行 出错升级。

错误也可能是由于使用 UserGetDefaultOptions hook 修改默认设置的扩展,或者因为 $wgDefaultUserOptions 中给出的值之一根本无效。