兼容性

From mediawiki.org
This page is a translated version of the page Compatibility and the translation is 95% complete.

MediaWiki致力于在包括当前版本和旧版本之间保持广泛的兼容性。与此同时,不断发展的代码库以及最新MediaWiki开发的功能意味着无法无限期地保持与旧版软件的兼容性。

如果您希望对MediaWiki支持的内容提出建议,可以在Phabricator上提出评论请求

服务器软件

本节概述了运行MediaWiki的服务器所需的软件

PHP

最新的MediaWiki稳定分支版本(1.39)可在PHP7.4.3或更高版本上运行。

对于即将推出的版本,请参阅Support policy for PHP

HHVM支持已在MediaWiki 1.34中删除。 强烈建议您不要使用它。

由于上游漏洞,MediaWiki与PHP 7.4.0 - 7.4.2不兼容。 请改用PHP 7.4.3+。 参见任务T246594以获取更多信息。
自1.39.0版本起,MediaWiki支持PHP 8.0及以上版本。 MediaWiki 1.35.x等发行分支可以基本运行在PHP 8上,但可能会遇到小错误或警告。 参见T248925以获取更多信息。
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.36版本以来,MediaWiki仅支持近两个长期支持(LTS)版本的升级(参见 phab:T259771)。从旧版本的MediaWiki升级必须分多个步骤执行。
Since MediaWiki 1.34 , we no longer support using 手册:Oracle and 手冊:Microsoft SQL Server . We strongly advise to no longer to use these.
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 1.36起,MediaWiki仅支持从近两个长期支持(LTS)版本的升级。 (参见phab:T259771。) 从更老版本的MediaWiki升级至新版本必须分步进行。 如果您想从1.23版本或更早的版本升级至1.36,您需要先将您的wiki从1.23版本升级至1.27版本(或1.35版本)。在1.27(或1.35)版本中,您才能升级至1.36版本。

網頁服务器

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功能、字符编码和内容使用的图像格式;必须在这些浏览器中工作)。 In the front-end this means content is presented in a readable manner.

Some browsers in this category are known to be incompatible with modern JavaScript,[1] and therefore do not get JavaScript features. 他们会被startup模块中的功能测试套件和用户代理过滤器识别。 Other browsers (listed below) in Grade B still get JavaScript features, but support for it may break or be discontinued at some future point.


未知(X级)

本组表示所有其他浏览器(也被称为X级)。这包括:

  • 不再开发或维护,且与现代互联网标准不兼容的浏览器或浏览器版本;MediaWiki可能会选择放弃支持。
  • 不够流行的浏览器,不足以证明软件开发增加的维护成本是合理的;仅与这些浏览器相关的问题会被赋予低优先级

MediaWiki处理这些浏览器的方式与现代(A级)浏览器相同,因此假定它们具有能力。该原则提供了许多重要的好处:

  • 如果现代浏览器的新版本或不受支持的版本尚未被我们测试,则可能会暂时被视为未知。将未知浏览器视为有能力的用户可确保在这些浏览器中获得最佳的用户体验。
  • 新型浏览器的用户将有机会获得现代体验。
  • 基于或衍生自已知现代浏览器的较不流行浏览器的用户不会受到负面影响(例如:Iceweasel)。

实际上,未知浏览器和现代浏览器之间的唯一区别是我们不会主动针对未知浏览器进行测试。

这些浏览器具有完整的功能集,这意味着HTTP、HTML、CSS和JS功能可能会也可能不会与这些浏览器兼容或受到针对于C级浏览器采取的措施(如用于新版CSS功能的备用CSS)的影响。 In particular, whether JavaScript support is enabled is decided by a feature test suite and a user agent filter (see above).


IE11的特殊处理

从2021年3月开始,所有维基媒体项目的JavaScript的新功能将不会支持IE11,详细请看Compatibility/IE11 。这是将浏览器降级为基础级或C级的第一阶段。

浏览器支持矩阵

上述原则和不同等级适用于MediaWiki核心和扩展。下面的浏览器支持矩阵将这些等级应用于MediaWiki核心、维基媒体基金会基础设施以及决定遵循它的任何MediaWiki扩展。各个扩展可能有自己的支持矩阵,以在不同级别的支持中分发浏览器。另请参阅浏览器使用情况细分仪表板

浏览器支持矩阵 截至2022年4月 · ·
浏览器 Chrome Firefox Opera Edge 传统Edge Internet Explorer Safari iOS Android
现代 (A级) 当前版本和上一版本 (2023) 11+ (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)
基本 (C级) 31+ (2013) 39+ (2014) 18+ (2013) 79+ (2020) 12+ (2015) 11+ (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)
未知 (X级) 所有其他浏览器

List of changes, most recent first:

  • As of MediaWiki 1.39, Basic support is removed for Internet Explorer 9-10, Firefox 27-38, and 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 和/或设计仅用于在移动设备上运行的扩展程序,如[[Special:MyLanguage/Extension:MobileFrontend|]] 。 支持矩阵是根据分析用户代理细分仪表板提供的数据编译的。 浏览器使用率超过5%时,支持现代体验(A级)。 在过去的12个月内提供超过0.1%的任何基本支持(C级)。 在移动设备中,我们努力提供B级。B级用户可能会也可能不会获得JavaScript,并且我们的测试水平未达到A级,因此我们将错误修复的优先级降低了。 支持MobileFrontend的现代浏览器的列表请看.browserlistsrc

列表中未包含的内容或较旧的内容都被视为基础支持的浏览器。

注释

  1. Currently MediaWiki requires browsers to fully support only ES5, but this may be raised to ES6 in the future; see phab:T178356.

參見