1

我目前正在尝试将 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    
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,但我认为我没有安装。Sepcificially 我认为我的 LocalSettings.php 是问题所在。我按照指南的指示安装了扩展程序,所以我确信我使用的是最新版本的 Wikibase(尽管我似乎无法找到版本号)并且我使用的是 MediaWiki 1.35 和 PHP Ubuntu 18.04 上的 7.3.23-4,由 nginx 托管。

这是我添加到我的 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,以及我可能搞砸的任何其他文件。

4

1 回答 1

3

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

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

您可能还需要使用 Composer 安装依赖项,如此所述。

其次,确保您的 wiki 不认为它也是一个WikiBase存储库。之前插入$wgEnableWikibaseRepo = false wfLoadExtension( 'WikibaseClient', "$IP/extensions/Wikibase/extension-client.json" );

第三,哪个 wiki 将作为您的 WikiBase 存储库?

于 2020-10-21T08:28:28.047 回答