兼容性
MediaWiki致力于在包括当前版本和旧版本之间保持广泛的兼容性。与此同时,不断发展的代码库以及最新MediaWiki开发的功能意味着无法无限期地保持与旧版软件的兼容性。
如果您希望对MediaWiki支持的内容提出建议,可以在Phabricator上提出评论请求。
服务器软件
本节概述了运行MediaWiki的服务器所需的软件
PHP
最新的MediaWiki稳定分支版本(1.39)可在PHP7.4.3或更高版本上运行。
对于即将推出的版本,请参阅Support policy for PHP 。
HHVM支持已在MediaWiki 1.34中删除。 强烈建议您不要使用它。
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 | 1.35 | 1.36 | 1.37 | 1.38 | 1.39 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8.1.0+ | |||||||||||||||||||||||||||||||||||||||
8.0.0+ | |||||||||||||||||||||||||||||||||||||||
7.4.3+ | |||||||||||||||||||||||||||||||||||||||
7.3.19+ | |||||||||||||||||||||||||||||||||||||||
7.2.x | |||||||||||||||||||||||||||||||||||||||
7.1.x | |||||||||||||||||||||||||||||||||||||||
7.0.x | |||||||||||||||||||||||||||||||||||||||
5.6.x | |||||||||||||||||||||||||||||||||||||||
5.5.9+ | |||||||||||||||||||||||||||||||||||||||
5.5.0–5.5.8 | |||||||||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 | 1.35 | 1.36 | 1.37 | 1.38 | 1.39 | master |
5.4.x | |||||||||||||||||||||||||||||||||||||||
5.3.3+ | |||||||||||||||||||||||||||||||||||||||
5.3.2 | |||||||||||||||||||||||||||||||||||||||
5.2.3+ | |||||||||||||||||||||||||||||||||||||||
5.1.x | |||||||||||||||||||||||||||||||||||||||
5.0.x | |||||||||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 | 1.35 | 1.36 | 1.37 | 1.38 | 1.39 | master |
資料庫
MediaWiki兼容不同种类的数据库服务器。建议使用MySQL或MariaDB。
不建議使用任何其他數據庫軟件進行生產使用。支持不同於MediaWiki版本和MediaWiki版本,範圍從可疑到穩定。 MediaWiki為PostgreSQL和SQLite提供了數據庫抽象層,這些層通常会得到得到良好的维护。
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 | 1.35 | 1.36 | 1.37 | 1.38 | 1.39 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MariaDB 10.3.0+ | |||||||||||||||||||||||||||||||||||||||
MariaDB 10.1.0+ | |||||||||||||||||||||||||||||||||||||||
MySQL 5.7.0+ | |||||||||||||||||||||||||||||||||||||||
MySQL 5.5.8+ | |||||||||||||||||||||||||||||||||||||||
MySQL 5.0.3+ | |||||||||||||||||||||||||||||||||||||||
MySQL 4.x | |||||||||||||||||||||||||||||||||||||||
MySQL 3.x | |||||||||||||||||||||||||||||||||||||||
SQLite 3.8.0+ | |||||||||||||||||||||||||||||||||||||||
SQLite 3.3.7+ | |||||||||||||||||||||||||||||||||||||||
SQLite 3+ | |||||||||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 | 1.35 | 1.36 | 1.37 | 1.38 | 1.39 | master |
PostgreSQL 10+ | |||||||||||||||||||||||||||||||||||||||
PostgreSQL 9.4+ | |||||||||||||||||||||||||||||||||||||||
PostgreSQL 9.2+ | |||||||||||||||||||||||||||||||||||||||
PostgreSQL 8.3+ | |||||||||||||||||||||||||||||||||||||||
PostgreSQL 8.1 | |||||||||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | 1.33 | 1.34 | 1.35 | 1.36 | 1.37 | 1.38 | 1.39 | master |
升级
網頁服务器
MediaWiki與所有可以調用兼容版本的PHP的主要Web服務器廣泛兼容。 Apache是最经常使用且测试过的。 Nginx也是不錯的選擇。
MediaWiki擴充功能
只要正確維護擴展(您可以在描述頁面的信息框頂部看到),擴展的主分支應與MediaWiki的主分支兼容。 為了確定與較早的MediaWiki版本的兼容性,擴展使用以下几种常用策略:
- master(关键词:master):扩展程序的master分支与MediaWiki的当前版本和较旧版本兼容。 必要时,向后兼容性志愿者会添加到扩展源代码中。
- 发行分支(关键词:rel):对于每个MediaWiki版本,扩展名中都有一个对应的分支。 因此,例如,如果您使用MediaWiki 1.39,则应使用扩展名的REL1_39分支。
- 长期支持发行分支(关键词:ltsrel):对于每个长期支持的MediaWiki发行版本(参见版本生命周期发行方针),在扩展中都会有一个对应的分支。 因此,例如,如果您使用MediaWiki 1.39,您应当使用REL1_39分支的扩展。 如果您使用的版本并非长期支持(LTS)版本,通常情况下您需要使用前一个LTS版本分支的扩展。 例如,使用MediaWiki 1.34的wiki通常使用REL1_31版本分支的ltsrel扩展。 但是,我们不提供兼容性的保证。
Special:MyLanguage/Template:Extension#compatibility policy信息框的兼容性策略
字段告诉给定扩展使用哪种策略。 使用上面指示的各个键来指定信息。
某些扩展可能具有更具体的兼容性策略,例如:
浏览器
基本信息
世界上不同种类的浏览器数量在不断增长。
需要通过很多积极地测试去支持它们。 为了描述了我们对浏览器支持的看法,我们分为三个层次的支持。 每个层次代表不同类别的浏览器。
现代(A级)
本组表示有最高级别的支持(也被称为A级)。这个级别充分利用了现代浏览器的各种功能,并允许给旧版浏览器一个优雅的反馈。所有的特性由软件提供(无论是否以一个退化形式),都必须能在这些浏览器正常工作。
此类别中的浏览器是已知的(下面列出),并进行了积极地测试。用户在这些浏览器中感知到的问题将被高度重视。
基本(C级)
本组提供了MediaWiki的核心功能(也被成为C级)。 我们的HTTP响应与这些浏览器兼容(e.g. 我们依赖的HTTP功能、字符编码和内容使用的图像格式;必须在这些浏览器中工作)。 在前端,这意味着内容以人类可读的方式呈现,且内容及账号行为可正常进行,但这些浏览器不会得到JavaScript的特性。
已知此类别下一些浏览器不支持现代JavaScript (ES6),因此这些浏览器不会得到JavaScript功能。 他们会被startup模块中的功能测试套件和用户代理过滤器识别。
未知(X级)
本组表示所有其他浏览器(也被称为X级)。这包括:
- 不再开发或维护,且与现代互联网标准不兼容的浏览器或浏览器版本;MediaWiki可能会选择放弃支持。
- 不够流行的浏览器,不足以证明软件开发增加的维护成本是合理的;仅与这些浏览器相关的问题会被赋予低优先级。
MediaWiki处理这些浏览器的方式与现代(A级)浏览器相同,因此假定它们具有能力。该原则提供了许多重要的好处:
- 如果现代浏览器的新版本或不受支持的版本尚未被我们测试,则可能会暂时被视为未知。将未知浏览器视为有能力的用户可确保在这些浏览器中获得最佳的用户体验。
- 新型浏览器的用户将有机会获得现代体验。
- 基于或衍生自已知现代浏览器的较不流行浏览器的用户不会受到负面影响(例如:三星浏览器、UC浏览器及VivaldiIceweasel)。
实际上,未知浏览器和现代浏览器之间的唯一区别是我们不会主动针对未知浏览器进行测试。
这些浏览器具有完整的功能集,这意味着HTTP、HTML、CSS和JS功能可能会也可能不会与这些浏览器兼容或受到针对于C级浏览器采取的措施(如用于新版CSS功能的备用CSS)的影响。 具体来说,JavaScript支持启用与否取决于功能测试套件和用户代理过滤器(参见上文)。
浏览器支持矩阵
上述原则和不同等级适用于MediaWiki核心和扩展。下面的浏览器支持矩阵将这些等级应用于MediaWiki核心、维基媒体基金会基础设施以及决定遵循它的任何MediaWiki扩展。各个扩展可能有自己的支持矩阵,以在不同级别的支持中分发浏览器。另请参阅浏览器使用情况细分仪表板。
浏览器 | Chrome | Opera | Edge | 传统Edge | Firefox | Internet Explorer | Safari | iOS | Android |
---|---|---|---|---|---|---|---|---|---|
现代 (A级) | 近三年的版本 (2020) | 无 | 当前及上一个{{$1|延长支持|ESR}} 版本 (2020) |
无 | 11.3+ (2018) | 11.3+ (2018) | 5+ (2014) | ||
基本 (C级) | 31+ (2013) | 18+ (2013) | 79+ (2020) | 12+ (2015) | 39+ (2014) | 11 (2013) | 9.1+ (2015) | 9+ (2015) | 5+ (2014)[note 1] |
未知 (X级) | 所有其他浏览器 |
Platform | Minimum OS or device | Supported modern browser |
---|---|---|
Android | Moto G (1st generation (2013) Google Nexus 4 (2012) |
Android 5.1, Chrome 83+ |
Samsung Galaxy S5 (2014) | Android 6.0, Chrome 83+ | |
iOS | iPhone 5S (2013) | iOS Mobile Safari 11.3 - 12 (2018-2023)[1] |
Linux | Debian 10 Buster (2019) | firefox-esr 102, chromium 90 |
Ubuntu 18.04 LTS (2018) | firefox (current), chromium-browser (current) | |
macOS | OS X 10.9 Mavericks (2013-2016) | Firefox 78 ESR (2020). The default Safari 7 is unsupported. |
macOS 10.13 High Sierra (2017-2020) | Safari 11.3, current Firefox, Chrome 83+ | |
macOS 10.15 Catalina (2019-2022) | Safari 13.1, current Firefox, Chrome 83+ | |
Windows | Windows 7 (2009-2020) | Edge 83+, current Firefox, Chrome 83+ |
变更列表(时间越近越靠前):
- 2023年,支持浏览器的目标经过重新表述;对Chrome及基于Chrome的浏览器,现在的目标是支持最近三年的版本(覆盖三年而非三个月);对Firefox,现在的目标是支持当前及前一个LTS版本(以达到近似相同的时间范围)。 T178356
- MediaWiki 1.41起,不再对Internet Explorer 11、macOS和iOS的Safari 9-10、Firefox 39-53提供现代级别的支持。 T178356
- MediaWiki 1.39起,不再对Internet Explorer 9-10、Firefox 27-38和Android 4.3-4.4提供基本支持。 T293298, T297313, T290815
- 自MediaWiki 1.36起,移除了对Firefox 3-26、Internet Explorer 8、Safari 3-8、iOS (Safari) 5-8、Android 3.0-4.2、Chrome 1-30和Opera 15-18的基本支持。 T248061, T262946, T266866
- 自MediaWiki 1.36起,移除了对Android 4.1-4.2、iOS 6.1-8和Safari 5.1-8的现代支持。 T266866
- 从MediaWiki 1.35开始,移除了对Internet Explorer 6-7和Android 2的基本支持。 T232563, T249788
- 自MediaWiki 1.31起,Internet Explorer 10的JavaScript已被禁用。 T187869
- 自MediaWiki 1.29起,Internet Explorer 9以及其他非ES5的浏览器的JavaScript已被禁用。 T128115
- 自MediaWiki 1.27起,Internet Explorer 8的JavaScript已被禁用。 T118303, Wikitech-ambassadors message
- 自MediaWiki 1.24起,Internet Explorer 6和7的JavaScript已被禁用。 gerrit:152072, gerrit:152128, Wikitech-ambassadors message
移动
维基媒体基金会的网络团队采用更严格的支持矩阵,用于特定于移动设备的皮肤,如Minerva 和/或设计仅用于在移动设备上运行的扩展程序,如移动前端 。
支持矩阵是根据分析用户代理细分仪表板提供的数据编译的。
浏览器使用率超过5%时,支持现代体验(A级)。
在过去的12个月内提供超过0.1%的任何基本支持(C级)。
在移动设备中,我们努力提供B级。B级用户可能会也可能不会获得JavaScript,并且我们的测试水平未达到A级,因此我们将错误修复的优先级降低了。
支持MobileFrontend的现代浏览器的列表请看.browserlistsrc
。
列表中未包含的内容或较旧的内容都被视为基础支持的浏览器。
參見
- MediaWiki版本的版本生命周期
- No-JavaScript notes
- MediaWiki - compatibility error note (example)
- wikitech:HTTPS/Browser Recommendations
Notes
- ↑ Note this refers to the stock Android browser. For Chrome for Android, provided that you're running Chrome 31+, it requires Android 4.0+(2011).