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

如何初始化Mediawiki共享数据库表并正确清空$wgSharedTables

操作步骤

  1. 临时清空$wgSharedTables的方法
    在运行网页安装器、或者执行maintenance/update.php升级脚本之前,直接在你的LocalSettings.php配置文件中添加一行代码,放在所有原有共享配置的最前面:
$wgSharedTables = [];

也可以直接注释掉所有你自己写的$wgSharedTables相关赋值行,效果完全一致。

  1. 完成初始化/升级后的配置修正
    等站点核心安装完成、数据库表全部生成成功后,再恢复共享配置,注意你原有配置存在写法错误,这也是你共享库没有生成表的原因之一:
    原错误写法是把整个数组作为单个元素追加到共享表列表中:
// 错误写法
$wgSharedTables[] = array('user','user_groups','actor');

正确写法有两种,根据你的需求选择:

  • 如果要覆盖默认共享表列表,只共享你指定的三个表:
$wgSharedTables = ['user', 'user_groups', 'actor'];
  • 如果要在默认共享表基础上追加这三个表:
$wgSharedTables = array_merge($wgSharedTables, ['user', 'user_groups', 'actor']);
  1. 共享库初始化补充操作
    Mediawiki不会自动在$wgSharedDB指定的库中创建共享表结构,你需要手动完成这一步:
  • 先在单个子站点完成初始化,生成完整的表结构
  • 把需要共享的user、user_groups、actor等表从子站点数据库迁移到wiki_shared库
  • 再开启共享配置,所有子站点就会自动读取共享库的对应表

官方提到的升级阶段清空$wgSharedTables的规则同样适用于首次初始化场景,只要你需要运行安装/升级脚本修改表结构,就需要临时禁用共享表配置,避免脚本无法正确识别表的归属,导致表创建失败。

内容的提问来源于stack exchange,提问作者Farzad M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:48:02