本地MediaWiki+Wikibase扩展:无法修改标签字符串长度限制求助
解决Wikibase标签字符长度限制不生效的问题
- 修正配置拼写错误
你在LocalSettings.php里的配置有拼写错误:lenght应该是length,正确的配置代码如下:
$wgWBRepoSettings['string-limits'] = [ 'multilang' => [ 'length' => 500, ], ];
这个拼写错误是导致配置不生效、依然沿用默认250字符限制的核心原因。
补全数据库字段修改
除了已经修改的page_title和wbt_text.wbx_text,还需要修改另一个关键字段:- 执行SQL语句修改
wb_terms表的wbtt_text字段:ALTER TABLE `wb_terms` MODIFY `wbtt_text` VARBINARY(500); - 修改完成后,务必运行
update.php和rebuildLocalisationCache.php这两个维护脚本,确保配置和数据库变更生效。
- 执行SQL语句修改
清理MediaWiki缓存
修改配置和数据库后,需要清空缓存才能让新设置生效:- 如果使用文件缓存,直接删除MediaWiki根目录下
cache文件夹里的所有文件; - 如果用了Redis、Memcached等缓存服务,重启服务或手动清空缓存。
- 如果使用文件缓存,直接删除MediaWiki根目录下
检查前端验证逻辑
少数情况下,Wikibase的前端JavaScript可能硬编码了250字符的限制。你需要检查Wikibase相关的前端脚本文件,若发现硬写的长度限制,修改对应数值后重新编译前端资源(如果是通过npm构建的前端代码)。
内容的提问来源于stack exchange,提问作者HS-GWS
相关产品推荐
相关产品推荐

