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
环境信息
| 软件 | 版本 |
|---|---|
| MediaWiki | 1.41.0 |
| PHP | 8.2.15 (fpm-fcgi) |
| ICU | 63.1 |
| MySQL | 5.7.42 |
| Lua | 5.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
相关产品推荐
相关产品推荐

