- Регистрация
- 13.05.2013
- Сообщения
- 1 718
- Реакции
- 204
Небольшой FAQ по обновлению и общим вопросам MediaWiki.
В принципе, для человека, знакомого с Apache, IIS и PHP не составляет труда без проблем обновить MW до актуальной версии.
Однако очень часто возникают одни и те же вопросы у новичков. Этот FAQ как раз сборка этих вопросов из лички и форума MediaWiki.ru
И так, перед обновлением необходимо знать о следующих вещах:
LTS
(англ. Long Term Support; «поддержка в течение длительного периода»)
Если ваша MW довольно старая, то лучше в качестве промежуточной версии использовать так называемые предыдущие версии.
Как правило этой версии вполне достаточно для удачного обновления, но если уж очень хочется идти по шагам +1, то все версии MW можно скачать с официального сайта.
Версии
Опять же если между установленной версией и той на которую хотите обновлять довольно большой, то обратите внимание на версии PHP и MySQL поддерживаемые вашими версиями MW.
Изменения поддержки PHP описаны на странице с историей версий.
Например на момент написания статьи (ноябрь 2013) самой распространенной версией PHP является 5.2, версии MW выше 1.19 поддерживают только PHP 5.3, в то время как MW версии ниже 1.19 не поддерживает PHP 5.3. Это в большинстве случаев и вызывает проблемы и ошибки при обновлении.
Вашу версию PHP, MySQL и MW можно посмотреть на специальной странице Special:Version.
Расширения
Так же на странице Special:Version можно увидеть включенные расширения и их версии.
Если возникают проблемы с обновлением, то их тоже рекомендуется отключить.
Отключаются они так же как и включаются, только в обратной последовательности.
Как правило достаточно закомментировать строки вида:
в файле LocalSettings.php.
После успешного обновления движка MW их тоже необходимо обновить и включить заново.
Резервные копии
Перед тем как обновляться обязательно сделайте резервные копии файлов и БД!.
Если у вас довольно объемная БД, то рекомендуется делать бекап: через Sypex Dumper или через консоль или сделать резервную копию файлов БД.
Так же будет полезным прочитать несколько ссылок по теме:
Manual:Backing_up_a_wiki
Manual:Restoring_a_wiki_from_backup
Обновление
Теперь когда у нас все готово, приступим к обновлению.
Сам процесс обновления довольно подробно описан в документации на английском, и чуть менее подробно на русском.
Два основных способа обновления это через консоль (при наличии SSH доступа к хостингу на *nix системах или через cmd на Windows) и через браузер.
Способ обновления через консоль является рекомендованным, так как отображает все ошибки наиболее подробно!
Если вы не знаете как запустить консоль php на Windows, то:
Короткие ссылки
Как настроить короткие ссылки написано в мануале.
Однако иногда возникают проблемы с настройкой:
Для упрощения генерации правил есть скрипт: http://shorturls.redwerks.org
Проблемы обновления с MW версии <= 1.16
Теперь о наиболее частых проблемах возникающих при обновлении со старых версий движка.
Вопрос: Проблема в том что когда я ее обновляю, пропадает содержимое всей википедии. И появляется абсолютно новая и чистая википедия.
Ответ: Наиболее вероятный сценарий этой проблемы в ошибках кодировки БД. Если ваша спецстраница Special:AllPages, отображает нечто подобное:
Тогда у вас однозначно проблема с кодировками!
Для решения этой проблемы необходимо изменить кодировку таблиц на нужную, как это сделать описано тут, тут, тут и воттут тут.
Вопрос: Во время обновления выдается ошибка:
Fatal error: Cannot redeclare wfprofilein() (previously declared in ...\wiki\includes\profiler\Profiler.php:14) in ...\wiki\includes\ProfilerStub.php on line 12
Ответ: Для устранения этой ошибки закомментируйте эту строку в файле ProfilerStub.php:
В принципе, для человека, знакомого с Apache, IIS и PHP не составляет труда без проблем обновить MW до актуальной версии.
Однако очень часто возникают одни и те же вопросы у новичков. Этот FAQ как раз сборка этих вопросов из лички и форума MediaWiki.ru
И так, перед обновлением необходимо знать о следующих вещах:
LTS
(англ. Long Term Support; «поддержка в течение длительного периода»)
Если ваша MW довольно старая, то лучше в качестве промежуточной версии использовать так называемые предыдущие версии.
Как правило этой версии вполне достаточно для удачного обновления, но если уж очень хочется идти по шагам +1, то все версии MW можно скачать с официального сайта.
Версии
Опять же если между установленной версией и той на которую хотите обновлять довольно большой, то обратите внимание на версии PHP и MySQL поддерживаемые вашими версиями MW.
Изменения поддержки PHP описаны на странице с историей версий.
Например на момент написания статьи (ноябрь 2013) самой распространенной версией PHP является 5.2, версии MW выше 1.19 поддерживают только PHP 5.3, в то время как MW версии ниже 1.19 не поддерживает PHP 5.3. Это в большинстве случаев и вызывает проблемы и ошибки при обновлении.
Вашу версию PHP, MySQL и MW можно посмотреть на специальной странице Special:Version.
Расширения
Так же на странице Special:Version можно увидеть включенные расширения и их версии.
Если возникают проблемы с обновлением, то их тоже рекомендуется отключить.
Отключаются они так же как и включаются, только в обратной последовательности.
Как правило достаточно закомментировать строки вида:
Код:
require_once "$IP/extensions/extension_name/extension_name.php";
После успешного обновления движка MW их тоже необходимо обновить и включить заново.
Резервные копии
Перед тем как обновляться обязательно сделайте резервные копии файлов и БД!.
Если у вас довольно объемная БД, то рекомендуется делать бекап: через Sypex Dumper или через консоль или сделать резервную копию файлов БД.
Так же будет полезным прочитать несколько ссылок по теме:
Manual:Backing_up_a_wiki
Manual:Restoring_a_wiki_from_backup
Обновление
Теперь когда у нас все готово, приступим к обновлению.
Сам процесс обновления довольно подробно описан в документации на английском, и чуть менее подробно на русском.
Два основных способа обновления это через консоль (при наличии SSH доступа к хостингу на *nix системах или через cmd на Windows) и через браузер.
Способ обновления через консоль является рекомендованным, так как отображает все ошибки наиболее подробно!
Если вы не знаете как запустить консоль php на Windows, то:
Источник: habrahabr.ruРабота с php из консоли Windows
Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH.
Нажимаем на «Изменить» и добавляем в конец строки
(прим. тут необходимо указать реальный путь к вашему php!)Код:;Z:\usr\local\php5
Теперь проверим, что всё заработало.
В директории тестового сайта создадим файл console.php
Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).Код:<?php if ($argv[0] == basename(__FILE__)) { unset($argv[0]); } echo 'Hello ' . $argv[1] . '!'; ?>
Вводим:
Консоль отвечает:Код:php console.php “UserName”
> “Hello, UserName!”
PHP побеждён, всеобщее ликование, апплодисменты, занавес.
Короткие ссылки
Как настроить короткие ссылки написано в мануале.
Однако иногда возникают проблемы с настройкой:
Для упрощения генерации правил есть скрипт: http://shorturls.redwerks.org
Проблемы обновления с MW версии <= 1.16
Теперь о наиболее частых проблемах возникающих при обновлении со старых версий движка.
Вопрос: Проблема в том что когда я ее обновляю, пропадает содержимое всей википедии. И появляется абсолютно новая и чистая википедия.
Ответ: Наиболее вероятный сценарий этой проблемы в ошибках кодировки БД. Если ваша спецстраница Special:AllPages, отображает нечто подобное:
Тогда у вас однозначно проблема с кодировками!
Для решения этой проблемы необходимо изменить кодировку таблиц на нужную, как это сделать описано тут, тут, тут и вот
Вопрос: Во время обновления выдается ошибка:
Fatal error: Cannot redeclare wfprofilein() (previously declared in ...\wiki\includes\profiler\Profiler.php:14) in ...\wiki\includes\ProfilerStub.php on line 12
Ответ: Для устранения этой ошибки закомментируйте эту строку в файле ProfilerStub.php:
Код:
require_once( dirname(__FILE__).'/includes/ProfilerStub.php' );
Последнее редактирование: