호환성
미디어위키는 버전 사이의, 그리고 다양한 최신 및 레거시 소프트웨어와의 광범위한 호환성을 유지하기 위해 노력하고 있습니다. 그렇지만 최신 미디어위키 개발의 코드베이스와 기능이 지속적으로 발전하고 있기 때문에 레거시 소프트웨어와의 호환성을 무한정 유지할 수는 없습니다.
서버 소프트웨어
이 부분에서는 미디어위키를 실행하기 위해 서버에서 필요한 소프트웨어에 대한 개요를 설명합니다.
PHP
미디어위키의 최신 안정 브랜치(1.42)는 PHP 8.1.0 이상에서 실행됩니다.
향후 버전에 대해서는 Support policy for PHP 를 참조하십시오.
위키미디어 제작 서버는 현재 PHP 7.4를 실행하고 있으며, 곧 PHP 8.1로 업그레이드할 계획이다. Patches for MediaWiki core are tested against PHP 7.4 when created, and PHP 7.4, 8.1, 8.2 when merging. 미디어위키 개발자는 PHP 8.1을 사용하여 개발할 것을 권장하며 미디어위키 도커 이미지는 PHP 8.1을 사용합니다.
OS 배포판에 지원되지 않는 버전의 PHP가 있는 경우 커뮤니티 패키지 저장소를 사용할 수 있습니다:
- Debian (Ubuntu): Sury
- RHEL (Fedora / Rocky / Oracle): Remi / RHEL 9 stream
- SUSE: openSUSE contributors
- Arch (Manjaro): el:archphp
- macOS (Homebrew): shivammathur
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 | 1.40 | 1.41 | 1.42 | 1.43 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8.3.0+ | |||||||||||||||||||||||||||||||||||||||||||
8.2.0+ | |||||||||||||||||||||||||||||||||||||||||||
8.1.0+ | |||||||||||||||||||||||||||||||||||||||||||
8.0.0+ | |||||||||||||||||||||||||||||||||||||||||||
7.4.3+ | |||||||||||||||||||||||||||||||||||||||||||
7.3.19+ | |||||||||||||||||||||||||||||||||||||||||||
7.2.x | |||||||||||||||||||||||||||||||||||||||||||
7.1.x | |||||||||||||||||||||||||||||||||||||||||||
7.0.x | |||||||||||||||||||||||||||||||||||||||||||
5.6.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 | 1.40 | 1.41 | 1.42 | 1.43 | master |
5.5.9+ | |||||||||||||||||||||||||||||||||||||||||||
5.5.0–5.5.8 | |||||||||||||||||||||||||||||||||||||||||||
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 | 1.40 | 1.41 | 1.42 | 1.43 | master |
데이터베이스
미디어위키는 다양한 데이터베이스 서버와 호환됩니다. MySQL 또는 MariaDB를 사용하는 것이 좋습니다.
프로덕션용으로 다른 데이터베이스 소프트웨어를 사용하는 것은 권장하지 않습니다. 지원 여부는 미디어위키 버전마다 다르며 의심스러운 수준에서 안정적인 수준까지 다양합니다. 미디어위키는 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 | 1.40 | 1.41 | 1.42 | 1.43 | 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 | 1.40 | 1.41 | 1.42 | 1.43 | master |
PostgreSQL 10+ | |||||||||||||||||||||||||||||||||||||||||||
Postgres 9.4+ | |||||||||||||||||||||||||||||||||||||||||||
Postgres 9.2+ | |||||||||||||||||||||||||||||||||||||||||||
Postgres 8.3+ | |||||||||||||||||||||||||||||||||||||||||||
Postgres 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 | 1.40 | 1.41 | 1.42 | 1.43 | master |
업그레이드
웹 서버
미디어위키는 호환 가능한 PHP 버전을 호출할 수 있는 모든 주요 웹 서버와 광범위하게 호환됩니다. Apache는 가장 많이 사용되고 테스트되었습니다. Nginx도 좋은 선택입니다.
미디어위키 확장 기능과 스킨
확장 기능이나 스킨이 적절하게 유지 관리되는 한, 확장 기능이나 스킨의 master 분기는 미디어위키의 master 분기와 호환되어야 합니다. 이전 미디어위키 버전과의 호환성을 확인하기 위해 확장 기능 및 스킨에서 사용되는 다음과 같은 일반적인 정책이 있습니다:
- 마스터 (키: master): 확장 기능이나 스킨의 마스터 분기는 미디어위키의 현재 버전과 이전 버전 모두와 호환됩니다. 필요에 따라 이전 버전과의 호환성 핵이 확장 프로그램과 스킨의 소스 코드에 추가됩니다.
- 릴리스 분기 (키: rel): 모든 미디어위키 릴리스에 대해 확장 기능 또는 스킨에 해당하는 분기가 있습니다. 예를 들어 미디어위키 1.42을 사용한다면, 확장 기능이나 스킨의 REL1_42 분기를 사용해야 합니다.
- 장기 지원 릴리스 분기 (키: ltsrel): 장기 지원 릴리스인 모든 미디어위키 릴리스(버전 수명 주기 릴리스 정책 참조)에는 확장 기능 또는 스킨에 해당 분기가 있습니다. 예를 들어 미디어위키 1.39을 사용한다면, 확장 기능의 REL1_39 분기를 사용해야 합니다. 비 LTS 버전의 미디어위키를 사용하는 경우 일반적으로 이전 LTS 버전의 확장 또는 스킨 분기를 사용해야 합니다. 예를 들어, ltsrel 확장 기능이나 스킨을 사용하는 미디어위키 1.34 위키는 일반적으로 해당 확장 기능이나 스킨의 REL1_31 분기를 사용합니다. 하지만 호환성이 보장되지는 않습니다.
Extension 정보 상자의 호환성 정책 필드는 해당 확장 기능이 어떤 정책을 사용하는지 알려줍니다. 위에 표시된 각 키를 사용하여 정보를 지정합니다.
예를 들어 일부 확장 기능에는 보다 구체적인 호환성 정책이 있을 수 있습니다.
브라우저
일반 정보
모든 웹 페이지는 HTML만 렌더링되는 기본 모드에서 시작합니다. CSS는 시각적 판독기에 성공한다고 가정할 수 있으며 프레젠테이션에 사용해야 합니다. 최신 계층은 클라이언트 측 자바스크립트로 작성된 선택적 향상 및 상호 작용을 정의합니다. 이 계층은 로드에 실패하거나 나중에 도착하거나 아예 도착하지 않을 수 있습니다. 최신 브라우저를 포함합니다. 이는 다양한 상황에 따라 다릅니다. 더 자세히 알아보려면 미디어위키 엔지니어링 지침을 참조하세요. The Modern layer (subdivided into support grades A, C, and X) defines optional enhancements and interactions written in client-side JavaScript. This layer may fail to load, arrive later, or not at all, including in modern browsers. This depends on various circumstances. To learn more, refer to MediaWiki Engineering guidelines.
"최신" 계층에 대한 자바스크립트 요구 사항은 "cutting the mustard" 접근 방식에서 영감을 받아 시작 모듈의 기능 테스트를 통해 구현됩니다. The modern layer currently requires JavaScript version ES6 (ES2015). For MediaWiki developers, this means that you should not use syntax from later versions of JavaScript. This is enforced through ESLint rules in eslint-config-wikimedia.
전 세계적으로 다양한 웹 브라우저와 브라우저 지원 장치의 수가 점점 늘어나고 있습니다. 일일이 테스트하고 지원하기에는 너무 많습니다. 브라우저 지원에 대한 관행을 안내하기 위해 미디어위키는 3가지 수준의 지원을 제공합니다. 각 계층은 서로 다른 브라우저 범주를 나타냅니다.
실제로 브라우저 등급 간의 유일한 차이점은 테스트 및 지원에 대한 투자입니다. 모든 브라우저는 동일한 서버 응답을 받으며, 필요한 자바스크립트 기능을 통과할 경우 현대 계층을 로드하려고 시도합니다.
A등급
A등급 브라우저는 최고 수준의 지원을 받습니다. 미디어위키는 최신 브라우저의 기능을 활용하는 동시에 오래된 브라우저에 대해 우아한 폴백을 허용합니다. 개발된 새로운 기능은 성능이 저하된 형태이든 아니든 이러한 브라우저에서 작동해야 합니다.
이 범주의 브라우저는 알려져 있고(아래 나열됨) 적극적으로 테스트되었으며 "최신" 계층의 요구 사항을 충족합니다. 이러한 브라우저에서 사용자가 인지하는 문제는 높은 우선 순위로 처리됩니다.
C등급
C등급 브라우저는 미디어위키 플랫폼의 핵심 기능을 받아야 합니다. 미디어위키의 HTTP 응답은 이러한 브라우저와 호환됩니다. (예: 미디어위키가 사용하는 HTTP 기능, 문자 인코딩 및 콘텐츠에 사용되는 이미지 형식, 해당 브라우저에서 작동해야 함) 프론트엔드에서는 콘텐츠가 읽기 쉬운 방식으로 표시되고 콘텐츠 및 계정 작업을 수행할 수 있지만 자바스크립트 기능은 작동하지 않을 수도 있습니다. To browsers that don't pass the feature test mentioned above, modern JavaScript is not served at all.
이 범주의 브라우저는 알려져 있으며(아래 나열됨) 거의 테스트되지 않습니다. 이러한 브라우저에서 사용자가 인식하는 문제는 우선 순위가 높습니다'. 그러나 완화는 사용 가능한 기능이 고장나지 않도록 하는 데 초점을 맞출 수 있습니다. 제품 관점에서 허용되는 경우 영향을 받는 향상이 이러한 브라우저에서 복원되는 것이 아니라 (일시적으로) 비활성화될 수 있습니다.
X등급
다른 모든 브라우저는 "X등급"이라고 합니다.
미디어위키는 이러한 브라우저를 A등급 및 C등급 브라우저와 동일하게 처리합니다. 사용자 에이전트 필터가 없으며 이러한 브라우저는 "최신" 계층에 대한 기능 테스트를 통과하면 자바스크립트 향상 기능을 받습니다.
다음을 포함하여 다른 그룹에 포함되지 않은 브라우저는 이 범주에 속합니다:
- 알려진 현대 브라우저를 기반으로 하거나 파생된 덜 인기있는 브라우저들 (예: 삼성 인터넷, UC 브라우저, 비발디, 아이스위즐).
- 최신 브라우저의 베타 버전. 아직 우리가 테스트하지 않은 경우 X등급으로 간주됩니다. 이것들을 가능한 것으로 취급하면 이러한 브라우저에서 최적의 사용자 경험을 보장하고 업스트림 테스트를 용이하게 할 수 있습니다.
- 더 이상 개발되거나 유지 관리되지 않고 최신 인터넷 표준과 호환되지 않는 브라우저 또는 브라우저 버전. 이들은 "기본" 모드를 수신하거나 웹 서버에 연결하지 못할 수도 있습니다.
이 원칙은 새롭고 발전하는 브라우저의 사용자에게 현대적인 경험을 할 수 있는 기회가 제공된다는 것을 의미합니다.
이러한 브라우저는 소프트웨어 개발을 위한 추가 유지 보수 비용을 정당화할 만큼 일반적이지 않으며 본질적으로 테스트되지 않습니다. 사용자가 이러한 브라우저에서만 인식하는 문제는 낮은 우선 순위가 부여됩니다.
브라우저 지원 매트릭스
데스크탑
위에서 설명한 원칙과 다양한 등급은 미디어위키 코어와 확장 기능에 모두 적용됩니다. 아래 지원 매트릭스는 미디어위키 코어, 위키미디어 재단 인프라, 그리고 이를 따르기로 결정한 모든 미디어위키 확장 기능의 맥락에서 이러한 등급을 적용합니다. 개별 확장 기능은 서로 다른 지원 수준 간에 브라우저를 분산하는 고유한 지원 매트릭스를 가질 수 있습니다. 브라우저 사용량 분석 대시보드도 참조하십시오.
브라우저 | Chrome | Edge | Firefox | Safari | iOS | Android[note 1] | |||
---|---|---|---|---|---|---|---|---|---|
현대 (A등급) | 최근 3년 동안의 버전 (2021) | 11.1+ (2018년) | 11.3+ (2018년) | 6+ (2015년)[note 2] | |||||
기본 (C등급) | 49+ (2016년) | 79+ (2020년) | 49+ (2016년) | 10+ (2016년) | 10+ (2016년) | 5+ (2014년)[note 3] | |||
알 수 없음 (X등급) | 다른 모든 브라우저 |
플랫폼 | 최소 운영 체제 또는 장치 | 지원되는 현대 브라우저 |
---|---|---|
Android | 모토로라 모토 G (2013) Google Nexus 4 (2012) |
Android 5.1, Firefox (current) |
삼성 갤럭시 S5 (2014) Google Nexus 5 (2013) Moto G (2nd generation) (2014) |
Android 6.0, Chrome 106, Firefox (current) | |
iOS | 아이폰 5s (2013) | iOS Mobile Safari 11.3 - 12 (2018-2023)[note 4] |
Linux | Debian 10 Buster (2019) | firefox-esr 102 |
Ubuntu 18.04 LTS (2018) | 파이어폭스 (현재), 크로미엄 브라우저 (현재) | |
macOS | OS X 10.11 El Capitan (2015-2018) | Safari 11.1, Chrome 103 |
macOS 10.13 High Sierra (2017-2020) | Safari 13, Firefox 115 ESR, Chrome 116 | |
macOS 10.15 Catalina (2019-2022) | Safari 15, current Firefox, Chrome 128 | |
macOS 11 Big Sur (2020-2023) | Safari 16, current Firefox, current Chrome | |
Windows | Windows 7 (2009-2020) | Edge 109, Firefox 115 ESR, Chrome 109 |
변경 사항 목록. 가장 최근 변경 사항부터 나열합니다.
- As of MediaWiki 1.43 , Basic support is removed for Internet Explorer 11 (IE 11), Edge 12–18, Chrome 31–48, Firefox 39–48, Safari 9 on macOS and iOS, and Opera. Chromium versions of Opera will probably see exactly the same experience as before. T288287
- 2023년부터 지원 대상이 다시 명시되어 크롬 및 크롬 기반 브라우저의 경우 최근 3년 동안의 버전(3개월이 아닌 3년 적용)이 지원 대상이며, 파이어폭스의 경우 현재 및 이전 LTS 버전(대부분의 시간 범위 달성)이 지원 대상입니다. T178356
- 미디어위키 1.41부터 인터넷 익스플로러 11, 맥OS 및 iOS 사파리 9~10, 파이어폭스 39~53에 대한 현대 지원이 제거됩니다. T178356
- 미디어위키 1.39부터 인터넷 익스플로러 9~10, 파이어폭스 27~38, 안드로이드 4.3~4.4에 대한 기본 지원이 제거됩니다. T293298, T297313, T290815
- 미디어위키 1.36부터 파이어폭스 3~26, 인터넷 익스플로러 8, 사파리 3~8, iOS (사파리) 5~8, 안드로이드 3.0~4.2, 크롬 1~30, 오페라 15~18에 대한 기본 지원이 제거됩니다. T248061, T262946, T266866
- 미디어위키 1.36부터 안드로이드 4.1~4.2, iOS 6.1~8, 사파리 5.1~8에 대한 현대 지원이 제거됩니다. T266866
- 미디어위키 1.35부터 인터넷 익스플로러 6~7과 안드로이드 2에 대한 기본 지원이 제거됩니다. T232563, T249788
- 미디어위키 1.31부터 인터넷 익스플로러 10에서 자바스크립트가 비활성화됩니다. T187869
- 미디어위키 1.29부터 인터넷 익스플로러 9용 자바스크립트는 다른 ES5 이외의 브라우저와 함께 비활성화됩니다. T128115
- 미디어위키 1.27부터 인터넷 익스플로러 8용 자바스크립트가 비활성화됩니다. T118303, 위키테크 앰배서더 메시지
- 미디어위키 1.24부터 인터넷 익스플로러 6 및 7용 자바스크립트가 비활성화됩니다. gerrit:152072, gerrit:152128, 위키테크 앰배서더 메시지
The Wikimedia Foundation also provides an up-to-date browserslist config reflecting the support matrix.
모바일
위키미디어 재단의 웹 팀은 모바일 전용 스킨 예: Minerva 또는 모바일 장치에서만 실행되도록 설계된 확장 프로그램 예: 모바일 프론트엔드 에 대해 더 좁은 지원 매트릭스를 적용합니다.
지원 매트릭스는 애널리틱스 사용자 상담원 분석 대시보드에서 제공하는 데이터에서 컴파일됩니다.
브라우저 사용률이 5% 이상인 경우 현대 환경(A등급)이 지원됩니다.
기본 지원(C등급)은 지난 12개월 동안 0.1%를 초과하는 경우 지원됩니다.
모바일에서는 B 등급을 지원하기 위해 노력하고 있습니다. B 등급의 사용자에게는 자바스크립트가 지원되거나 지원되지 않을 수 있으며, A 등급과 동일한 수준으로 테스트하지 않기 때문에 버그 수정의 우선 순위를 낮추고 있습니다.
MobileFrontend의 현대 지원 브라우저 목록은 .browserlistsrc
파일에 정의되어 있습니다.
목록에 없거나 이전 버전인 경우 기본적으로 지원되는 브라우저로 간주됩니다.
같이 보기
- 미디어위키 버전의 버전 생명 주기
- No-JavaScript notes
- MediaWiki - compatibility error note (example)
- wikitech:HTTPS/Browser Recommendations
- Graded Browser Support by YUI (2011-2015)
- Graded Browser Support by Yahoo (2006-2012)
각주
- ↑ Refers to Android WebView, based on Chromium since Android 4.4(2013년). In Android 5.0+(2014년), Chrome WebView can be updated separately without having to update Android versions. For standalone browsers, refer to Chrome and Firefox columns.
- ↑ Chrome 96(2021년), which is more than three years old, dropped support for Android 5(2014년). Latest versions of Firefox as well as Wikimedia apps support Android 5+(2014년).
- ↑ 이는 기본 안드로이드 브라우저를 기준으로 합니다. 안드로이드용 크롬에서는 크롬 31 이상을 실행하는 경우 안드로이드 4.0 이상(2012년)이 필요합니다. For Firefox for Android, provided that you're running Firefox 49+, it requires Android 4.0+(2011년).
- ↑ iOS 11에서 아이폰 5 및 이전 기기에 대한 지원이 중단되었습니다.