You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wikibase安装后条目缺失「添加声明」按钮问题求助

Wikibase条目页面「添加声明」按钮缺失问题排查与解决

问题描述

自定义MediaWiki环境中安装Wikibase后,条目页面的声明(德语:Aussagen)区域下方未显示「添加声明」按钮。该问题在MediaWiki 1.39版本中已存在,升级至1.41版本并重装对应版本扩展后仍未解决。安装流程遵循官方说明,无明显异常:Wikibase显示为已安装扩展,可正常添加条目、访问所有Wikibase特殊页面,依赖项均为最新版本。

维护脚本运行异常信息

执行以下维护脚本时出现错误:

$ php maintenance/run.php ./extensions/Wikibase/lib/maintenance/populateSitesTable.php
Got no data from https://meta.wikimedia.org/w/api.php
done.
$ php maintenance/run.php ./maintenance/populateInterwiki.php
Error during fetching data.

仅rebuildItemsPerSite.php执行正常:

$ php maintenance/run.php ./extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php
Start rebuild...
Processed 23 entities.
Rebuild done.

Git子模块更新错误

尝试按Wikibase README更新子模块时出现如下错误:

$ git submodule update --init                                  
/usr/lib/git-core/git-submodule: line 7: basename: command not found
/usr/lib/git-core/git-submodule: line 7: sed: command not found
/usr/lib/git-core/git-sh-setup: line 86: basename: command not found
/usr/lib/git-core/git-sh-setup: line 86: sed: command not found
/usr/lib/git-core/git-sh-setup: line 332: uname: command not found
fatal: not a git repository (or any of the parent directories): .git

环境信息

软件版本
MediaWiki1.41.0
PHP8.2.15 (fpm-fcgi)
ICU63.1
MySQL5.7.42
Lua5.1.5

解决方案

1. 检查用户权限配置

确保当前用户组拥有editentity和addstatement权限,在LocalSettings.php中确认或添加以下配置:

# 普通用户权限
$wgGroupPermissions['user']['editentity'] = true;
$wgGroupPermissions['user']['addstatement'] = true;

# 管理员权限(若需要)
$wgGroupPermissions['sysop']['editentity'] = true;
$wgGroupPermissions['sysop']['addstatement'] = true;

2. 修复Sites表与Interwiki数据

由于自动脚本无法从维基媒体元站获取数据,需手动配置:

  • 手动填充Sites表:
    执行SQL语句插入本地站点数据(替换your_wiki_domain和your_db_name为实际值):
    INSERT INTO site (site_id, site_global_key, site_type, site_group, site_source, site_language, site_protocol, site_domain, site_data, site_forward, site_config)
    VALUES ('localwiki', 'localwiki', 'mediawiki', 'mediawiki', 'local', 'zh', 'https://', 'your_wiki_domain', '{"dbname":"your_db_name"}', 0, '{}');
    
  • 手动配置Interwiki:
    在LocalSettings.php中添加本地Interwiki映射:
    $wgInterwikiLocal = true;
    $wgInterwiki['local'] = 'https://your_wiki_domain/wiki/$1';
    
  • 运行脚本刷新数据:
    php maintenance/run.php ./extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php
    

3. 修复Git子模块依赖问题

该错误由系统缺少基础工具、当前目录非Git仓库导致:

  • 安装缺失的系统工具(以Debian/Ubuntu为例):
    sudo apt-get install coreutils sed procps
    
  • 若通过Git安装MediaWiki,切换到MediaWiki根目录后执行子模块更新:
    cd /path/to/your/mediawiki
    git submodule update --init --recursive
    
  • 若为压缩包安装,无需执行Git操作,直接下载对应版本的Wikibase压缩包替换现有扩展即可。

4. 清除缓存并重建资源

运行以下维护脚本完成缓存清理与资源重建:

php maintenance/update.php
php maintenance/rebuildLocalisationCache.php
php maintenance/purge.php --all

5. 检查前端资源加载

打开浏览器控制台查看是否存在JS/CSS加载错误,若有:

  • 确认LocalSettings.php中$wgResourceLoaderDebug设为false(生产环境);
  • 运行脚本重建资源包:
    php maintenance/run.php rebuildResources.php
    

内容的提问来源于stack exchange,提问作者InvisibleKid56

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 08:30:58