MediaWiki 1.25.1中每个页面上的ExtensionProcessor错误

时间:2015-07-28 08:49:29

标签: php mediawiki

我的Wiki上的每个页面都出现以下错误。通常,我会禁用错误显示,但由于我仍在开发网站,我不想这样做,我宁愿修复错误。

  

警告:array_merge_recursive():参数#1不是数组   第294行/var/www/html/includes/registration/ExtensionProcessor.php

我正在运行最新版本的 MW - 1.25.1 并安装了以下扩展程序:

  • 维护壳
  • TopTenPages
  • DynamicPageList
  • 隐私权|发布广告
  • UniversalLanguageSelector
  • 可视化编辑器

我该如何解决这个问题?我不知道从哪里开始排除故障。

3 个答案:

答案 0 :(得分:1)

您已经遇到this bug:"在extension.json中设置非数组属性会导致无用的错误消息"

虽然错误消息无效,但解决方法是在extension.json中找到有问题的项目

答案 1 :(得分:1)

找到问题的一些相关原因。

如果在LocalSettings.php

中加载了5个以上的皮肤,则数组将失败

例如,如果您已指定:

wfLoadSkin( 'CologneBlue' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Vector' );
wfLoadSkin( 'Gamepress' );

然后你不会收到错误信息,但是你添加了第6个或更多皮肤,然后你会看到错误信息

wfLoadSkin( 'CologneBlue' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Vector' );
wfLoadSkin( 'Gamepress' );
wfLoadSkin( 'Bouquet' );
wfLoadSkin( 'DuskToDawn' );
wfLoadSkin( 'WPtouch' );
wfLoadSkin( 'Dusk' );

此外,当与其他皮肤(如

)一起加载时,某些皮肤仍会导致问题
wfLoadSkin( 'WPtouch' );
wfLoadSkin( 'Dusk' );

当自己加载时工作正常,但错误仍然显示,同时包含默认皮肤和Gamepress或Bouquet。

如果你想为手机和PC使用不同的皮肤,那么目前它是混合搭配。

答案 2 :(得分:1)

对我来说,在我加载HitCounter和TopTenPages后出现了错误,但我相信只要你在Mediawiki 1.25.1中使用wfLoadExtension钩子加载2个或更多扩展名就会发生错误。

我能够通过在mediawiki / includes / registration / ExtensionProcessor.php中的第83行('manifest_version',)之后添加'AutoloadClasses',来修复此错误。

这是基于change 218787