Руководство:Обновление
Стабильная версия (MediaWiki 1.42 )
- mediawiki-1.42.3.tar.gz
- mediawiki-1.42.3.zip
- Git-ветка: REL1_42
Наследуемые версии (MediaWiki 1.41 )
- mediawiki-1.41.4.tar.gz
- mediawiki-1.41.4.zip
- Git-ветка: REL1_41
Альфа-версия (MediaWiki 1.44 )
Дополнительная информация:
Обзор
Перенос файлов
Выберите метод переноса файлов:
- wget
- Безопасное копирование с помощью SCP или WinSCP
- С помощью SSH File Transfer Protocol (SFTP)
- С использованием FTP-клиента.
- С помощью веб-интерфейса файлового менеджера, предоставляемого хостинг-провайдером; узнайте о такой возможности у своего провайдера.
- Иной метод. Список возможных методов можно найти в статье w:List of file transfer protocols
Подготовка
В первую очередь, прочтите текстовый файл UPGRADE, включённый в архив MediaWiki.
- Проверьте соответствие требованиям
- Прочтите файл RELEASE-NOTES
- Прочтите файл UPGRADE
- Сделайте резервную копию существующих файлов и базы данных
- Распакуйте новые файлы
- Обновите расширения
- Запустите скрипт обновления для проверки базы данных
- Протестируйте обновление
- Удалите "хвосты" от старых инсталляций
Проверка требований
MediaWiki версии 1.42 требует:
- PHP 8.1.0+
- Одно из следующего:
- MariaDB 10.3.0+
- MySQL 5.7.0+
- PostgreSQL 10.0+
- SQLite 3.8.0+
Если вы используете PostgreSQL, прочтите, пожалуйста, Manual:Upgrading Postgres .
Более подробно об этом можно прочесть в Руководство:Требования для установки и Совместимость .
Прочтите примечания к релизу
Где-то внутри дистрибутивного архива (tarball), или среди файлов, полученных или экспортированных из Git, есть ряд файлов с именами, набранными прописными литерами. Один из них содержит — RELEASE-NOTES (wiki). Теперь — самое время, чтобы открыть этот файл и узнать то, что изменилось в этом релизе. Вы также должны прочитать инструкции в файле UPGRADE.
Очистка списка задач
В интересах производительности некоторые действия с базой данных откладываются и управляются очередью задач (смотрите job queue) Эти задачи сохраняются в базе данных и содержат параметры с информацией о необходимых действиях. Крайне рекомендуется выполнить отложенные задачи перед обновлением вики во избежание их потери, что может произойти если обновление затронет параметры, указанные в этих задачах. Используйте runJobs.php чтобы выполнить все отложенные задачи и очистить очередь перед выполнением обновления.
Сделайте резервную копию существующих файлов и базы данных
- Полная инструкция: Руководство:Резервное копирование вики
Несмотря на то, что скрипты обновления тщательно отлажены и проверены, всегда остаётся вероятность сбоя. Поэтому перед обновлением базы данных, сделайте полную резервную копию своего вики-проекта, включая резервную копию базы данных, а также файлы:
- содержимое базы данных вики-проекта (проверьте
LocalSettings.php
и убедитесь, что получили тексты в корректной кодировке); в дополнение к резервной копии базы данных не повредит сделать и экспорт всех страниц в формате XML.
- MySQL, в т.ч. SQL-дамп и XML-дамп для использования с командой
mysql
:
- MySQL, в т.ч. SQL-дамп и XML-дамп для использования с командой
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
- PostgreSQL, дамп базы данных для использования с командой
pg_restore
:
- PostgreSQL, дамп базы данных для использования с командой
pg_dump --create -Fc wikidb > file.db.dump
- SQLite, используя скрипт MediaWiki для создания резервной копии:
php wikifolder/maintenance/sqlite.php --backup-to file
- изображения и другие медиафайлы (находящиеся в каталоге
images
, а также логотип /skins/common/images/wiki.png) - конфигурационные файлы, т.е.
LocalSettings.php
и.htaccess
(если есть) - программные файлы MediaWiki, включая все стили оформления и расширения, особенно если вы их изменяли.
Распакуйте новые файлы
Использование пакета tarball
Вы можете загрузить новые файлы при помощи FTP или командной строки. Использование командной строки возможно только при наличии соответствующих прав доступа! Этот способ гораздо эффективнее, чем FTP, когда каждый из сотен файлов загружается отдельно.
LocalSettings.php
, папки с изображениями, расширений и других настроек, таких как пользовательские скины)
FTP или графический интерфейс
Если у вас нет доступа к командной строке вашего сервера, загрузите на локальный компьютер архив (tarball) с MediaWiki, и распакуйте его на локальном компьютере с помощью 7zip.
После того, как файлы будут извлечены локально, воспользуйтесь FTP-клиентом для загрузки каталогов и файлов на сервер.
Файловый менеджер cPanel
cPanel - популярный интерфейс, предоставляемый многими веб-хостами. Этот метод эффективен, поскольку файлы распаковываются на самом сервере.
- Перейдите в каталог, в котором находится папка вашей вики.
- Загрузите файл mediawiki-1.xx.x.tar.gz. Возможно, вам придется нажать "Перезагрузить", чтобы увидеть его.
- Извлеките файл mediawiki-1.xx.x.tar.gz. Перезагрузите снова.
- Убедитесь, что папка mediawiki-1.xx.x присутствует.
- Удалите файл tar.gz.
- Скопируйте все необходимые скины, расширения, папки с изображениями, кастомизации и
LocalSettings.php
в новую папку. (См. ниже.) - Когда вы будете готовы запустить update.php, переименуйте свою старую папку вики и новую папку вики. (например, "w" становиться "w1.34" а затем "mediawiki1.35.0" становиться "w".) Этот шаг легко обратим, если у вас возникнут проблемы.
Командная строка
Вам может понадобиться запустить такую команду как sudo
, если у вас нет полных прав на запись в каталоги установки вики под вашим текущим пользователем.
При распаковке tarball архива обычно создается новый каталог для новой версии вики, и вам нужно будет скопировать старый каталог файлов конфигурации и изображений из старого установочного каталога:
cd /path/to/your/new/installation/
wget https://releases.wikimedia.org/mediawiki/1.42/mediawiki-1.42.3.tar.gz
tar xvzf mediawiki-1.42.3.tar.gz
rm mediawiki-1.42.3.tar.gz
Пользователи (Open)Solaris должны использовать gtar, или же следующий способ:
$ gzip -dc mediawiki-1.42.3.tar.gz | tar xf -
Другие файлы
После распаковки архива tarball вам следует скопировать или переместить некоторые файлы и папки из старого каталога установки в новый:
LocalSettings.php
- содержит ваши старые настройки конфигурации.- Каталог
images
(илиuploads
в более старых версиях), который содержит все файлы, загруженные на вики, если вы не выбрали другой каталог загрузки и не изменили владельца и разрешения.find ./images -type d -exec chmod 755 {} \;
иchgrp -R apache images
(например, если ваш веб-пользователь — apache). - Некоторые расширения в каталоге
extensions
. Вы всегда должны получать обновленные расширения; не гарантируется, что старые расширения будут работать с более новой версией MediaWiki. - Если вы используете пользовательский логотип этот файл также необходимо восстановить из резервной копии. До версии 1.24 логотип обычно находился в
skins/common/images/
. После версии 1.24 логотип обычно находится в каталогеresources/assets/
илиimages/
, если вы решили его использовать. Тогда добавьте вLocalSettings.php
, например,$wgLogo = "$wgScriptPath/images/logo.png";
- Для версии 1.35 вам может понадобиться восстановление логотипов в wgLogos . Затем добавьте в
LocalSettings.php
, например$wgLogos = [ '1x' => "path/to/1x_version.png", '2x' => "path/to/2x_version.png", 'svg' => "path/to/svg_version.svg" ];
. - Пользовательское оформление в
skins
каталоге. - Любые изменения, внесенные в старые установочные файлы или расширений.
- Любой файл .htaccess (если вы используете Apache и вы определили какие-либо правила в них).
После этого сделайте эту новую папку опубликованной папкой на веб-сервере или переименуйте старый каталог установки, а затем переименуйте новый, чтобы он соответствовал старому имени. Измените владельца и группу всего, чтобы веб-сервер имел доступ к файлам.
Использование Git
При использовании @git, закачайте файлы в новую папку, а затем скопируйте старые файлы настройки в эту папку, как описано в предыдущем разделе.
Вам также потребуется установить некоторые внешние библиотеки PHP с помощью Composer или предоставленной коллекции, поддерживаемой для вики-фермы Викимедиа. Дополнительные сведения об установке и обновлении внешних библиотек можно найти в документация по загрузке Git.
Использование патчей
Небольшой файл исправлений обычно становится доступным для незначительного обновления версии. Вам нужно скачать патч, чтобы использовать это. Вручную загрузите с сайта с дампами и извлеките файл патча, или следуйте инструкциям ниже, чтобы загрузить патч с помощью команды wget. Патчи являются нарастающие, вы не можете пропускать версии.
- С помощью команды cd перейдите в основной каталог MediaWiki (содержащий файл
LocalSettings.php
). - Скачайте файл патча и распакуйте его с помощью команды gunzip.
- С помощью команды
patch -p1 --dry-run
проверьте, какие изменения будут произведены (например,patch -p1 --dry-run -i mediawiki-x.xx.x.patch
) - Если всё хорошо, запустите команду patch снова, но без
--dry-run
. - Зайдите на Special:Version и убедитесь, что номер версии изменился на новый.
Файлы, оставление которых может привести к ошибкам
Если вы распаковали дистрибутив поверх старого каталога установки, некоторые старые файлы могут вызвать проблемы с новой версией.
Обновление расширений
Некоторые расширения были обновлены, чтобы работать с новой версией MediaWiki. Убедитесь, что обновили такие расширения до их последних версий. Вполне возможно, что вам потребуется вручную выполнить обновления некоторых расширений.
Различные архивы включают в себя некоторые наборы расширений и имеют функционал управления версиями, который помогает при обновлении выбрать правильный вариант для вашего выпуска ядра MediaWiki.
Extension Distributor хорошо подходит для большинства людей, которым нужен моментальный снимок расширений, которые будут работать с их поддерживаемыми версиями MediaWiki.
Если вам нужно много расширений, то скачать из Git, вероятно, лучший вариант. Если у вас нет Git, но вы хотите обновить множество расширений, вы можете использовать mwExtUpgrader.
<span id="Adapt_your_LocalSettings.php
">
Откорректируйте ваш LocalSettings.php
Если вы используете тот же LocalSettings.php
от старой версии, вы должны его адаптировать так, чтобы новая версия его обрабатывала правильно:
Регистрация тем оформления
Версия MediaWiki: | ≥ 1.24 |
Начиная с MediaWiki 1.24, интегрированные темы оформления, такие как Vector, Monobook, Modern и CologneBlue, больше не являются частью ядра MediaWiki, и они должны быть явно зарегистрированы в LocalSettings.php
, чтобы их можно было использовать, иначе MediaWiki предупредит, что у вас нет установленных тем оформления.
Если хотите иметь в наличии одну их этих тем оформления при обновлении с версий старше 1.24, в LocalSettings.php
нужно добавить следующее:
wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );
Некоторые другие темы оформления все еще могут быть не адаптированы к новой системе регистрации тем оформления, поэтому в случае возникновения проблем обратитесь к странице документации каждой темы оформления, чтобы узнать, как правильно её зарегистрировать.
Регистрация расширений
Версия MediaWiki: | ≥ 1.25 |
В MediaWiki 1.25 используется новая система регистрации расширений.
До этого ваш LocalSettings.php
, например, выглядел так:
require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";
Сейчас нужно преобразовать в:
wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );
Расширения должны быть адаптированы для использования с новой системой регистрации расширений. Расширения, которые не адаптированы, должны использовать старый способ установки. Для получения дополнительной информации обратитесь к инструкциям по установке на странице расширения.
Удалить строку DefaultSettings.php (при необходимости)
Старые версии MediaWiki автоматически генерировали строку в LocalSettings.php с вызовом DefaultSettings.php . Начиная с версии 1.38, эта строка устарела и не работает со многими расширениями. Её необходимо удалить.
Удалите следующую строку:
require_once( "$IP/includes/DefaultSettings.php" );
Remove RenameUser from LocalSettings.php
If you are upgrading to 1.40 or above, Extension:RenameUser has been merged into core. If present, this line must be deleted from LocalSettings.php or the update will fail.
wfLoadExtension( 'Renameuser' );
Другие переменные
Некоторые переменные могут быть устаревшими или даже удалены.
Если они находятся в LocalSettings.php
, то не будет никакого эффекта.
Новые переменные могут быть добавлены в более новых версиях, а некоторые существующие переменные изменили свой тип.
Мы обычно стараемся использовать для них привычные значения по умолчанию, а в случае изменения типа - обратную совместимость.
В любом случае, обращайте внимание на примечания к выпуску, чтобы увидеть эти изменения.
Запустите скрипт обновления
Вы можете обновить базу данных MediaWiki двумя способами: либо из командной строки, либо из веб-браузера. Если у вас есть доступ к серверу через оболочку, рекомендуется выполнить обновление из командной строки, поскольку это снижает риск прерывания процесса обновления из-за тайм-аута или сброса соединения.
Скрипт также уведомит вас, если какая-либо из PHP-зависимостей ядра MediaWiki устарела.
Командная строка
Access the command line of your server or an SSH shell or similar. You can access the command line by connecting to your server via SSH. Current versions of all major operating systems (including Windows 10 and 11) contain a command-line OpenSSH client either by default or as an installable feature. If the local PC you are working on runs Microsoft Windows, you may want to (or, if it’s 8.1 or older, have to) install PuTTY, which features a wizard-like interface (or a similar tool). From the command line or the Shell, execute the update script:
Версия MediaWiki: | ≥ 1.40 |
$ php maintenance/run.php update.php
Версия MediaWiki: | ≤ 1.39 |
$ php maintenance/update.php
Если вы столкнулись с ошибкой на сервере под управлением Linux, попробуйте повторить ту же самую команду как root (с помощью команды sudo).
Примечание для простой установки в Windows (например, с XAMPP ):
Сначала убедитесь, что ваше серверное приложение (например, Apache) и база данных (например, MySQL) запущены.
Затем запустите update.php
: щелкните его правой кнопкой мыши, выберите «Открыть с помощью» и перейдите к PHP.exe.
Полученное окно командной строки, скорее всего, автоматически закроется после завершения обновления схемы.
MediaWiki проверит существующую схему и обновит её для работы с новым кодом, добавив при необходимости таблицы или новые поля.
--doshared
, если хотите, чтобы общие таблицы обновлялись. В противном случае они не будут затронуты сценарием обновления.What to do if it says "MediaWiki requires PHP x.y.z or higher; you are using PHP x.w.v"
See Manual:Common errors and symptoms#MediaWiki requires PHP 7.4.3 or higher; you are using PHP 7.3.17
Что делать, если php update.php ничего не делает, что приводит к быстрой паузе, а затем возврату в командную строку
Это может быть вызвано неисправностью расширения или скина.
- Убедитесь, что все расширения и скины, вызываемые в LocalSettings.php, присутствуют.
- Убедитесь, что расширения используют правильный метод регистрации (wfLoadExtension vs. require_once)
- Закомментируйте первую половину расширений в LocalSettings.php. Если это заставит update.php работать, раскомментируйте половину из половины (то есть 1/4 расширений). Если это НЕ приводит к тому, что update.php заработает, раскомментируйте первую половину, но закомментируйте вторую половину, а затем закомментируйте половину второй половины и т. д. Повторяйте, пока update.php не зараработает, чтобы найти то, что не работает.
Что делать, если возникает ошибка "ALTER command denied to user" (или похожая)
Может случиться так, что выполнение скрипта прерывается с сообщением, похожим на:
Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost) ERROR: must be the owner of the mytable relation
Это означает, что вы должны проверить настройки $wgDBadminuser и $wgDBadminpassword в своём файле LocalSettings.php (в основном каталоге). Это имя пользователя и пароль, необходимые этому скрипту для получения доступа к базе данных.
В некоторых случаях кажется, что старая переменная $wgDBmwschema (для Postgres) читается для обновления имени таблицы вместо $wgDBname, даже когда используется MySQL.
Если это так, просто избавьтесь от определения $wgDBmwschema
в LocalSettings.php
.
Что делать, если возникает ошибка 'register_argc_argv is set to false'
Вам может встретиться ошибка:
Cannot get command line arguments, register_argc_argv is set to false
- Перейти в ~/maintenance. Либо отредактируйте существующий файл 'php.ini', либо создайте его.
- Добавьте строку:
register_argc_argv=true
- Повторно запустите
php update.php
Веб-браузер
Версия MediaWiki: | ≥ 1.17 |
- Смотрите также update.php
Если ваша база данных уже большая и активно используется, вам не следует использовать веб-обновление, например. потому что процесс обновления истечет по тайм-ауту, когда будет достигнуто maximum_execution_time. В этом случае вы должны использовать update.php из интерфейса командной строки (не из Интернета). Что именно является слишком большим, зависит от вашего сервера (например, от его производительности, нагрузки и от того, как долго максимальное время выполнения PHP позволяет запускать скрипт). Если ваша вики слишком велика для средства веб-обновления, а ваш хостинг-провайдер не разрешает доступ к командной строке, вам необходимо перенести свою вики на другую учетную запись хостинга, желательно на ту, у которой есть доступ к оболочке.
- Всегда делайте резервную копию перед запуском скриптов, работающих с базой данных.
- Перейдите в веб-браузере к
/mw-config/index.php
. Например, если ваша викиhttp://example.org/w/index.php
, перейдите наhttp://example.org/w/mw-config/index.php
. - Выберите язык и нажмите продолжить.
- Существующая установка должна обнаружиться. Следуйте инструкциям на экране, чтобы обновить её.
Если вас попросят ввести «upgrade key», откройте файл LocalSettings.php и найдите ключ, назначенный $wgUpgradeKey .
Может случиться так, что веб-обновление не сработает: вместо начального экрана выбора языка вы можете увидеть пустую вики-страницу, возможно, с каким-то сообщением об ошибке. В этом случае, скорее всего, ваш веб-сервер использует правила перезаписи (скорее всего, для коротких URL-адресов), которые показывают вам не средство обновления mw-config/, а вики-страницу Mw-config/, с большой буквы "М". В этом случае переименуйте файл .htaccess на время обновления. После этого вы сможете получить доступ к веб-обновлению.
Протестируйте обновление
Как только обновление завершится, просмотрите вики-сайт и проверьте основные моменты, — чтобы гарантировать, что всё по-прежнему работает так, как ожидается. В первую очередь, это:
- просмотр страниц
- редактирование страниц
- загрузка файлов
- посетите страницу Special:Version и проверьте, что версия отображается корректно.
Удаление остатков от старых инсталляций
Если вы скопировали предыдущую установку в другую папку на сервере, обязательно удалите ее или сделайте ее полностью недоступной из Интернета. Очень важно не оставлять старые установки доступными из Интернета, так как это полностью сводит на нет цель обновления и оставляет ваш сервер открытым для атак.
Часто задаваемые вопросы
Как сложно сделать обновление?
Если единственный файл, который вы изменили, это LocalSettings.php , и вы обновляете версию 1.5 или более позднюю, процесс будет весьма простым. Объем затраченной человеческой работы составит всего несколько минут. Изменения схемы базы данных займут время, пропорциональное размеру вашей базы данных — для вики с миллионами страниц вероятно час, но для более типичной, размером в несколько тысяч страниц, обычно займёт секунды.
Незначительные обновления в рамках одной и той же основной версии, скажем, с 1.41.0 до 1.41.4, вообще не требуют никаких изменений схемы базы данных. Вы можете просто обновить файлы. База данных не нуждается в обновлении, поэтому нет необходимости запускать скрипт обновления.
Обновление с версии 1.4 или более ранней потенциально сложно, поскольку поддержка наборов символов, отличных от UTF-8, была прекращена, а схема хранения большого объема текста изменилась. Прочтите соответствующий раздел в файле UPGRADE
.
Обновление становится трудным, если вы изменили наш исходный код и не хотите, чтобы ваши изменения были перезаписаны. Могут быть полезны такие инструменты, как diff, patch, Meld или WinMerge. Также возможны проблемы, если вы используете неподдерживаемые расширения. Обновляйте свои расширения одновременно с обновлением MediaWiki.
Если вы изменили скин или используете пользовательский скин, вам, скорее всего, придется настроить его, чтобы он снова работал с новой версией MediaWiki.
Как мне обновиться с совсем старой версии? В один шаг или в несколько шагов?
Версия MediaWiki: | ≤ 1.4 |
Это зависит от: Если вы выполняете обновление с MediaWiki 1.4 или старше, вам следует сначала выполнить обновление до MediaWiki 1.5.
Если вы выполняете обновление с вики Latin-1, используйте upgrade1_5.php (находится в MediaWiki 1.5), чтобы преобразовать соответствующие части базы данных в UTF-8 (для этого необходимо установить $wgUseLatin1 в значение true в LocalSettings.php ).
Затем запустите update.php
, а затем установите параметр $wgLegacyEncoding в LocalSettings.php
на кодировку, ранее использовавшуюся вики (например, windows-1252). По сути, таким образом Википедия и другие сайты Фонда Викимедиа были обновлены с MediaWiki 1.4 до 1.5 — см. некоторые примечания, связанные с Wikitech.
Возможно, вам придется обновиться до MediaWiki 1.4 перед запуском скрипта обновления 1.5.
Если вы хотите сделать дамп базы данных (например, MySQL) вашей вики Latin-1, убедитесь, что тип поля old_text
в таблице text равен mediumblob
, а не mediumtext
, чтобы избежать проблем с кодировкой символов.
Версии MediaWiki: | 1.5 – 1.35 |
Если вы обновляете MediaWiki 1.5 или новее до 1.35, вы можете выполнить обновление за один шаг, от старой версии до последней стабильной версии. Подавляющее большинство отчетов, а также автоматизированное тестирование показывают, что одношаговость работает просто отлично. Если вам трудно поверить в это, прочитайте это сообщение из рассылки. Однако обратите внимание, что при обновлении со старых версий вероятность того, что вы столкнетесь с ошибками PHP, больше, чем при обновлении с версии, непосредственно предшествующей новой версии. Вы бы все равно получили эти ошибки, если бы не пропускали версии, но ошибки были бы связаны с каждым отдельным обновлением. Вместо этого, если вы обновите сразу несколько версий, вы получите один и тот же набор ошибок одновременно. Это усложнит обновление, но не забывайте, что у вас не должно быть проблем с обновлением до промежуточных версий, которые вы пропустили!
Версия MediaWiki: | ≥ 1.35 |
Если вы выполняете обновление до версии MediaWiki 1.36 или более поздней, будут поддерживаться только обновления из двух последних версий с долгосрочной поддержкой(LTS) (phab:T259771). Это будет означать, что для очень старых версий вы сначала обновляетесь до MediaWiki 1.35, а затем до 1.36.
Сперва я должен сделать резервное копирование?
Короткий ответ: Да.
Длинный ответ: это зависит от: а) насколько вы цените свои данные, б) насколько сложно создать резервную копию и в) насколько вы уверены в обслуживании и администрировании MySQL.
Сбой обновления может оставить вашу базу данных в несогласованном состоянии между двумя версиями. Во время обновления может произойти ошибка PHP или MySQL, в результате чего ваша база данных будет частично обновлена. В таких ситуациях может быть возможно как-то решить эту проблему с большим количеством действий вручную. Тем не менее, будет намного проще просто создать резервную копию базы данных перед запуском update.php и продолжить с этим. В противном случае у вас могут быть часы - бесполезной - работы.
Восстановление часто бывает сложным. Добровольцы на форумах поддержки вряд ли будут впечатлены, если вы пренебрежете созданием резервной копии, а затем вам понадобится помощь для восстановления после повреждения, связанного с обновлением. Лучше, если вы сможете вернуться к своей резервной копии, а затем сообщить об ошибке в соответствующем проекте MediaWiki в процессе обновления, вызвавшей повреждение.
<span id="Can_I_keep_my_LocalSettings.php
?">
Могу я оставить свой LocalSettings.php
?
Да, но вам, возможно, придется внести некоторые незначительные изменения. У формат LocalSettings.php в значительная степень обратной совместимости. Изменения, которые нарушают совместимость LocalSettings.php будут задокументированы в разделе "configuration changes" примечания к выпуску.
Может ли моя вики оставаться доступной во время обновления?
Обычно да, однако если вы обновитесь через Git, Git может временно (на несколько секунд) оборвать доступ.
Если вы выполняете обновление между младшими выпусками MediaWiki, все, что вам нужно сделать, это обновить исходные файлы.
Примечание: далее предполагается, что у вас есть доступ к командной строке. Если вы выполняете обновление между основными выпусками MediaWiki, рекомендуемая процедура выглядит следующим образом:
- Распакуйте новую версию MediaWiki в новый каталог
- Подготовьте новый каталог: скопируйте текущий
LocalSettings.php
из старого каталога, скопируйте все установленные расширения и пользовательские скины (если есть). Проверьте настройки$wgLogo
и$wgLogos
вLocalSettings.php
и, если необходимо скопируйте файл логотипа из старой директорию в новую. - В примечании к выпуску новой версии посмотрите, нужно ли внести какие-либо изменения в
LocalSettings.php
. - В старом каталоге отредактируйте LocalSettings.php и вставьте следующий код. Это поместит базу данных в режим только для чтения для обычной вики-активности, не ограничивая ваши собственные действия по обновлению. Пользователи увидят сообщение, если попытаются внести изменения в процессе обновления:$adminTask = ( PHP_SAPI === 'cli' || defined( 'MEDIAWIKI_INSTALL' ) );
$wgReadOnly = $adminTask ? false : 'Upgrading to MediaWiki 1.42.3'; - Запустите скрипт обновления или обновление через веб в новом каталоге.
- Скопируйте изображения из подкаталога images старого каталога в новый каталог.
- Поменять местами старый каталог и новый каталог. (Это снова сделает базу данных доступной для записи, потому что $wgReadOnly был установлен только в LocalSettings.php старого каталога.)
Зачем обновлять?
- Подпишитесь на mediawiki-announce, чтобы получать уведомления о новых выпусках.
Последние выпуски получают исправления безопасности, чтобы обезопасить вашу вики и ваш хост от вандалов, в то время как старые выпуски этого не делают (см. Жизненный цикл версий ).
Новые основные выпуски содержат новые функции, которые вы, возможно, захотите использовать: подробности см. в примечаниях к выпуску.
См. также
- Запись в блоге Greg Sabino Mullane содержат более подробную информацию о точенных обновлениях выпуска.
- Помощь и поддержка если вам нужна помощь или что-то пошло не так
- Категория:Устаревшие или неподдерживаемые функции
- Руководство:Резервное копирование вики
- Руководство: Восстановление вики-страницы из резервной копии
- Руководство:Перенос вики-сайта
- Руководство:Восстановление кода вики из кэшированного HTML - если у вас нет удачной резервной копии
- Руководство:Установка MediaWiki