您的位置:首页 >MediaWiki 数据库配置与升级教程
发布于2025-10-08 阅读(0)
扫一扫,手机访问

在构建MediaWiki家族(即多个Wiki站点共享用户账户等数据)时,共享数据库是一个核心概念。它允许不同的Wiki实例访问同一个用户表、用户组表等,从而提供统一的用户体验。MediaWiki通过几个关键的配置变量来实现这一功能:$wgSharedDB、$wgSharedTables 和 $wgSharedPrefix。
许多用户在配置 $wgSharedTables 时常犯一个错误,即将一个包含多个表名的数组作为单个元素添加到 $wgSharedTables 数组中,导致配置未能正确识别各个共享表。例如,以下配置是不正确的:
// 错误示例:将一个数组作为单个元素添加到 $wgSharedTables 中
$wgSharedTables[] = array('user','user_groups','actor');这种写法会使得 $wgSharedTables 变成一个包含一个子数组的数组,而不是一个包含多个表名字符串的数组。正确的做法是确保 $wgSharedTables 直接包含表名字符串。以下是两种推荐的正确配置方式:
使用 array_merge() 合并表名: 这种方法特别适用于在已有 $wgSharedTables 配置的基础上添加新的共享表。
// 正确示例1:使用 array_merge() $wgSharedDB = 'wiki_shared'; $wgSharedTables = array_merge( $wgSharedTables, ['user','user_groups','actor'] ); $wgSharedPrefix = '';
逐个添加表名: 如果 $wgSharedTables 尚未初始化,或者你希望清晰地列出每个共享表,可以逐个添加。
// 正确示例2:逐个添加表名 $wgSharedDB = 'wiki_shared'; $wgSharedTables[] = 'user'; $wgSharedTables[] = 'user_groups'; $wgSharedTables[] = 'actor'; $wgSharedPrefix = '';
请确保这些配置行放置在 LocalSettings.php 文件中适当的位置。
自 MediaWiki 1.21 版本起,在通过 Web 安装器进行升级时,有一个重要的注意事项:必须临时清空 $wgSharedTables 配置。如果不清空,Web 安装器将不会触及任何共享表(无论是带有 $wgSharedPrefix 的表还是带有 $wgDBprefix 的表),这可能导致升级失败或共享表未被正确更新。
Web 安装器在执行升级操作时,需要确保所有相关的数据库表都能够被检查和更新。当 $wgSharedTables 被配置时,安装器会假设这些表已经存在并被正确管理,从而可能跳过对它们的检查和创建/更新操作。临时清空此配置,可以强制安装器将所有表(包括那些最终会共享的表)视为当前Wiki实例的本地表进行处理,确保它们被正确地创建或升级。
清空 $wgSharedTables 的方法非常简单,只需将其设置为空数组即可:
// 在升级期间,临时清空 $wgSharedTables $wgSharedTables = [];
操作步骤:
重要提示: 这种清空操作是临时性的,仅在升级过程中需要。升级完成后,必须恢复正确的 $wgSharedTables 配置,以确保共享功能正常工作。
正确配置 MediaWiki 共享数据库表是构建高效多站点环境的关键。请务必使用 array_merge() 或逐个添加的方式正确定义 $wgSharedTables。同时,在进行 MediaWiki 1.21 及更高版本的升级时,切记要临时清空 $wgSharedTables 配置,以确保所有数据库表都能被安装器正确处理,避免升级失败。遵循这些步骤将有助于你顺利地管理 MediaWiki 共享数据库环境。
下一篇:10元20元怎么存进银行卡
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9