MediaWiki Wikibase安装故障

问题描述

我当前正在尝试将Wikibase扩展安装到新的Mediawiki安装中。这是PHP堆栈跟踪:

running media wiki  
Notice: Undefined index: entityNamespaces in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP on line 212    
Warning: array_merge(): Expected parameter 2 to be an array,null given in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP on line 212    
Notice: Undefined index: entityNamespaces in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP on line 212    
Warning: array_merge(): Expected parameter 2 to be an array,null given in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP on line 212    
Fatal error: Uncaught TypeError: Argument 2 passed to Wikibase\Lib\WikibaseSettings::applyEntityNamespacesToSettings() must be of the type array,null given,called in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP on line 103 and defined in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP:218 Stack trace: #0 /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP(103): Wikibase\Lib\WikibaseSettings::applyEntityNamespacesToSettings(Object(Wikibase\Lib\SettingsArray),NULL) #1 /var/www/mediawiki/extensions/Wikibase/client/includes/WikibaseClient.PHP(689): Wikibase\Lib\WikibaseSettings::getClientSettings() #2 /var/www/mediawiki/extensions/Wikibase/client/includes/WikibaseClient.PHP(737): Wikibase\Client\WikibaseClient::newInstance() #3 /var/www/mediawiki/extensions/Wikibase/client/includes/Hooks/MagicWordHookHandler.PHP(39): Wikibase\Client\WikibaseClient::getDefaultInstance() #4 /var/www/mediawiki/vendor/wikimedia/object-factory/src/ObjectFactory.PHP(172): in /var/www/mediawiki/extensions/Wikibase/lib/includes/WikibaseSettings.PHP on line 218

我试图按照Wikibase Installation guide的字母进行操作,仅安装Wikibase Client,但我认为没有。具体地说,我认为我的LocalSettings.PHP是问题。我已按照指南的指示安装了扩展程序,因此我确信我使用的是Wikibase的最新版本(尽管似乎找不到任何版本号),并且我正在将Mediawiki 1.35与PHP一起使用在Nginx托管的Ubuntu 18.04上的7.3.23-4。

这是我添加到LocalSettings.PHP文件末尾的部分,它破坏了我的安装,但是如果没有我,我将无法使用信息框,这是我的真正目标。

# Wikibase
wfLoadExtension( 'WikibaseClient',"$IP/extensions/Wikibase/extension-client.json" );
require_once "$IP/extensions/Wikibase/client/ExampleSettings.PHP";    
$wgWBClientSettings['repoUrl'] = 'https://pool.my.wiki';
$wgWBClientSettings['repoScriptPath'] = '';
$wgWBClientSettings['repoArticlePath'] = '/wiki/$1';
$wgWBClientSettings['repositories']['']['repoDatabase'] = 'poolwiki';
$wgWBClientSettings['repositories']['']['changesDatabase'] = 'poolwiki';
$wgWBClientSettings['siteLinkGroups'] = [ 'mywikigroup' ];
wgWBClientSettings['siteGlobalID'] = 'en';

我确定我只是在某个地方撞了一个明显的台阶,但是我已经走了很多次,也不知道在哪里。

对于这种情况,我尝试非常详尽地记录所有新安装的文档,您可以找到我当前的设置以及在github存储库上进行安装时所采取的步骤:https://github.com/PickleProgramming/AlQinaWiki

您可以在此处找到我完整的LocalSettings.PHP以及我可能已损坏的任何其他文件

解决方法

首先,您需要将 WikiBase 切换到1.35版。当前,您拥有1.36(master):

cd .../extensions/WikiBase
git checkout REL1_35
git pull
git submodule update --init --recursive

您还可能需要按照here的说明使用Composer安装依赖项。

第二,请确保您的Wiki认为它也不是 WikiBase 存储库。在{em> $wgEnableWikibaseRepo = false

前插入wfLoadExtension( 'WikibaseClient',"$IP/extensions/Wikibase/extension-client.json" );

第三,哪个Wiki将为您充当WikiBase存储库?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...