MediaWiki
更多操作
MediaWiki 是一款开源、免费的维基引擎,使用 PHP 编写,后端数据库支持 MySQL、MariaDB、PostgreSQL 或 SQLite。它最初由 Magnus Manske 开发,并于 2002 年取代 UseModWiki 成为维基百科的基础平台。MediaWiki 支持页面编辑、版本历史、分类、模板、扩展机制等功能,适用于百科、文档、知识库等协作编辑场景。核心特点包括强大的权限管理、支持 Unicode、多语言界面以及可扩展的钩子系统。自发布以来,被数以万计的网站采用,包括维基媒体基金会旗下的所有项目及众多企业内部知识管理平台。[1][2]
名称与定位
MediaWiki 是一种服务器端 wiki 软件,而不是单个网站或百科项目。它常因名称相近而与 Wikipedia、Wikimedia 混淆:Wikipedia 是使用 MediaWiki 构建的百科网站,Wikimedia 通常指维基媒体运动、组织或相关项目,而 MediaWiki 指支撑这些站点运行的软件本身。[2]
作为 wiki 引擎,MediaWiki 的目标是让多人通过网页共同创建和维护内容。普通编辑者通常不需要直接书写 HTML 或 CSS,而是使用 wikitext 语法、内部链接、模板和分类来组织页面。系统会保留页面的历史版本,因此错误编辑、破坏或垃圾内容通常可以回退到早先版本。[2]
历史
维基百科早期使用的是以 Perl 编写的 UseModWiki。随着访问量和协作规模扩大,Magnus Manske 在 2001 年开始开发面向维基百科需求的新 PHP/MySQL wiki 程序,该版本后来常被称为“Phase II”。2002 年 1 月,英文维基百科切换到这套新软件;它引入了命名空间、上传文件、监视列表、自动签名、用户贡献列表和管理员用户组等后来延续至 MediaWiki 的功能。
由于 Phase II 仍难以承受快速增长的负载,Lee Daniel Crocker 随后进行了重写,形成“Phase III”。2003 年起,这套软件开始使用 MediaWiki 这一名称,并逐渐成为维基百科及其他维基媒体项目的共同基础设施。随着维基媒体项目扩张,MediaWiki 的开发重点也长期围绕高访问量、多语言、权限控制、缓存、数据库复制和扩展接口展开。
主要功能
MediaWiki 的核心功能围绕协作编辑展开。页面内容以 wikitext 保存,编辑记录会形成可追溯的历史版本;用户可以比较差异、撤销编辑、监视页面变化,并通过讨论页协调内容。分类系统用于整理页面,模板系统用于复用信息框、导航框、提示语和格式化片段,命名空间则把条目、讨论、用户页、模板、文件等不同用途的页面分开管理。
在内容管理之外,MediaWiki 还支持文件上传、多语言界面、权限组、系统消息本地化、特殊页面、API 调用和维护脚本。对大型站点而言,缓存、作业队列、数据库复制和搜索服务等组件可以配合使用,以提升性能和可靠性。
技术架构
MediaWiki 以 PHP 编写,需要 Web 服务器、PHP 运行环境和数据库服务器。官方安装要求说明,当前稳定版本至少需要 PHP 8.2.0;数据库可使用 MariaDB、MySQL、PostgreSQL 或 SQLite,其中 MariaDB/MySQL 是最常见的部署选择。[3]
页面正文、用户信息、系统消息和多数站点数据存储在数据库中;上传文件通常存放在文件系统中。实际部署时还可能使用 ImageMagick 或 GD 生成缩略图,使用 memcached 等组件做对象缓存,并通过命令行维护脚本完成升级、批量导入、队列处理等管理任务。[3]
扩展与定制
MediaWiki 的扩展机制允许站点管理员增加新功能或改变既有行为。扩展可以提供新的特殊页面、解析器函数、API 模块、认证方式、可视化编辑器、语义数据能力或反垃圾功能等。官方手册也提醒,扩展的维护状态、版本兼容性和安全性需要逐一确认,尤其是在公开站点或生产环境中使用第三方扩展时。[4]
除扩展外,站点还可以通过皮肤、模板、Lua 模块、站点 CSS/JavaScript、系统消息和权限配置进行定制。这使 MediaWiki 既能作为公共百科,也能用于内部文档、项目知识库、资料档案或面向社群的协作站点。
适用场景
MediaWiki 适合需要长期积累、持续修订和多人协作维护的知识内容。它的优势在于版本历史清晰、链接和分类能力强、模板复用方便、权限和扩展生态成熟;缺点是安装和维护成本高于轻量级笔记系统,公开站点还需要持续处理垃圾编辑、安全更新和扩展兼容问题。
因此,MediaWiki 常用于百科、技术文档、游戏资料站、组织知识库、开源项目文档和档案型资料库。对于只需要少量静态页面或个人笔记的场景,静态站点生成器、轻量级 wiki 或文档平台可能更简单;而当内容规模、协作者数量和结构化需求增加时,MediaWiki 的模板、分类、权限和扩展机制会更有优势。