Как корректно обновиться с WordPress «расширенной версии» Максима (Maxsite.org), а также со старых «обычных версий» 2.0.*(2.1.*) до WordpRess 2.5(2.6) английской или русской «обычных версий»
Тут всего два варианта. Простой и сложный.
1. Простой — это если у вас база данных работает в кодировке utf-8, которая единственная полноценно поддерживается WordPress’ом. В данном случае вам нужно перед обновлением открыть файл wp-config.php , который в настоящее время выглядит примерно так:
<?php ### Перед установкой WordPress'а, прочтите, пожалуйста, файл read-me.txt ### Приведенные здесь настройки обычно используются при кодировке базы данных UTF-8 # настройки доступа к MySQL define('DB_NAME', ''); # название базы данных define('DB_USER', ''); # пользователь MySQL define('DB_PASSWORD', ''); # пароль define('DB_HOST', 'localhost'); # в 99% случаев используется этот хост $table_prefix = 'wp_'; # префикс таблиц define('DB_CHARSET', 'utf8'); # кодировка базы данных: utf8 или cp1251 define('DB_COLLATE', 'utf8_general_ci'); # кодировка, в которой хранятся данные: utf8_general_ci или cp1251_general_ci # КЭШИРОВАНИЕ - во время установки WordPress отключен, после можно включить define('DISABLE_CACHE', ''); # для включения кэша добавьте комментарий ("//")в начало строки # ЕСЛИ КОДИРОВКА БАЗЫ ДАННЫХ ОТЛИЧАЕТСЯ ОТ КОДИРОВКИ БЛОГА # разрешить преобразовывать тексты блога в кодировку базы данных # например если база данных работает в WINDOWS-1251, а блог в UTF-8 define('MAXSITE_DB_CONVERT', false); # true - разрешить, false - запретить # кодировка базы данных для автоматического перекодирования (работает если MAXSITE_DB_CONVERT=true) define('MAXSITE_DB_CHARSET', 'WINDOWS-1251'); # WINDOWS-1251 или UTF-8 # STOP EDITING!!! ДАЛЕЕ НЕ РЕДАКТИРУЙТЕ!!! define('MAXSITE_CHARSET_BLOG', 'UTF-8'); # кодировка блога - всегда UTF-8! define('ENABLE_CACHE', ''); define('ABSPATH', dirname(__FILE__).'/'); require_once(ABSPATH.'wp-language.php'); # файл своего перевода require_once(ABSPATH.'wp-settings.php'); # ЕСЛИ ВЫ ОБНОВЛЯЕТЕ WordPress, ТО ВЫПОЛНИТЕ ВТОРОЙ ЭТАП # СМ. ИНСТРУКЦИЮ В read-me.txt // require_once(ABSPATH . 'wp-upgrade-all.php'); maxsite_wp_upgrade(); ?>
Вам нужно из него удалить более не нужные строки, чтобы на «выходе» получилось так:
<?php define('DB_NAME', ''); # название базы данных define('DB_USER', ''); # пользователь MySQL define('DB_PASSWORD', ''); # пароль define('DB_HOST', 'localhost'); # в 99% случаев используется этот хост $table_prefix = 'wp_'; # префикс таблиц define('DB_CHARSET', 'utf8'); # кодировка базы данных: utf8 или cp1251 define('DB_COLLATE', ''); # кодировка, в которой хранятся данные: if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . 'wp-settings.php'); ?>
После этого вы можете «накатить поверх» более свежую версию. Необходимо только следовать правилам.
1. обязательно делать бэкап базы данных
2. визуально посмотреть через phpmyadmin что кодировка базы данных и всех таблиц стоит как utf8_general_ci.
3. Зайти в несколько таблиц и убедиться что все слова на русском выглядят нормально, а не абракадарброй.
4. Если вы обновляете WordPress 2.0.* ставьте поверх 2.1 (или можно сразу последний релиз ветки 2.1, затем после визуальной проверки что все нормально — ставьте WordPress 2.2 или сразу 2.2.3, затем поверх 2.3. После 2.3 можно сразу ставить 2.5.1 или 2.6
Тут следует уточнить что строки
define('DB_CHARSET', 'utf8'); # кодировка базы данных: utf8 или cp1251 define('DB_COLLATE', ''); # кодировка, в которой хранятся данные:
отсутствовали в WordPress 2.0 и 2.1, поэтому если их нет в вашем конфиге, то их следует добавить принудительно. Лучше всего вообще взять wp-config-sample.php от новой версии и туда переписать свои данные для подключения к базе.
2. Сложный если вы использовали конфигурацию с кодировкой базы Windows-1251, то вам предварительно рекомендую:
1. сделать экспорт базы
2. изменить везде слова cp1251 на utf8
3. сохранить дамп в кодироке utf-8
4. удалить таблицы в базе.
5. изменить «сравнение» в базе с cp1251_general_ci на utf8_general_ci
6. залить исправленный дамп в базу.
7. проверить что везде написано в таблицах utf8_general_ci и визуально оценить присутствие русских слов.
все это можно делать и командой — если знаете как. ниже по ссылкам где то это было описано в комментариях
Допустим у вас конфиг сейчас выглядит так:
<?php ### Перед установкой WordPress'а, прочтите, пожалуйста, файл read-me.txt ### Приведенные здесь настройки обычно используются при кодировке базы данных Windows-1251 # настройки доступа к MySQL define('DB_NAME', ''); # название базы данных define('DB_USER', ''); # пользователь MySQL define('DB_PASSWORD', ''); # пароль define('DB_HOST', 'localhost'); # в 99% случаев используется этот хост $table_prefix = 'wp_'; # префикс таблиц define('DB_CHARSET', ''); # кодировка базы данных: utf8 или cp1251 define('DB_COLLATE', ''); # кодировка, в которой хранятся данные: utf8_general_ci или cp1251_general_ci # КЭШИРОВАНИЕ - во время установки WordPress отключен, после можно включить define('DISABLE_CACHE', ''); # для включения кэша добавьте комментарий ("//")в начало строки # ЕСЛИ КОДИРОВКА БАЗЫ ДАННЫХ ОТЛИЧАЕТСЯ ОТ КОДИРОВКИ БЛОГА # разрешить преобразовывать тексты блога в кодировку базы данных # например если база данных работает в WINDOWS-1251, а блог в UTF-8 define('MAXSITE_DB_CONVERT', true); # true - разрешить, false - запретить # кодировка базы данных для автоматического перекодирования (работает если MAXSITE_DB_CONVERT=true) define('MAXSITE_DB_CHARSET', 'WINDOWS-1251'); # WINDOWS-1251 или UTF-8 # STOP EDITING!!! ДАЛЕЕ НЕ РЕДАКТИРУЙТЕ!!! define('MAXSITE_CHARSET_BLOG', 'UTF-8'); # кодировка блога - всегда UTF-8! define('ENABLE_CACHE', ''); define('ABSPATH', dirname(__FILE__).'/'); require_once(ABSPATH.'wp-language.php'); # файл своего перевода require_once(ABSPATH.'wp-settings.php'); # ЕСЛИ ВЫ ОБНОВЛЯЕТЕ WordPress, ТО ВЫПОЛНИТЕ ВТОРОЙ ЭТАП # СМ. ИНСТРУКЦИЮ В read-me.txt // require_once(ABSPATH . 'wp-upgrade-all.php'); maxsite_wp_upgrade(); ?>
его нужно также преобразовать в такой вид, как было описано выше
<?php define('DB_NAME', ''); # название базы данных define('DB_USER', ''); # пользователь MySQL define('DB_PASSWORD', ''); # пароль define('DB_HOST', 'localhost'); # в 99% случаев используется этот хост $table_prefix = 'wp_'; # префикс таблиц define('DB_CHARSET', 'utf8'); # кодировка базы данных: utf8 или cp1251 define('DB_COLLATE', ''); # кодировка, в которой хранятся данные: if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . 'wp-settings.php'); ?>
напоминаю что это стандартный конфиг wordpress 2.3* и после обновления до 2.5.1 или 2.6, вам потребуется взять образец из новой версии и переписать в него свои данные для подключения.
Трудности могут возникнуть при обновлении WordPress 2.0 и 2.1 (возможно потребуется извращаться чтобы корректно экспортировать данные). Тут поможет изучение этих материалов: первый второй третий, а также использование специальных плагинов (часто они работают коряво)
Также возможно после переноса конфигурации 1251 —>> UTF8 вас может поджидать «подводный камень» в виде невозможности зайти в админку — «отказ доступа». Я с этим сталкивался раза 3 при обновлении старых блогов на WordPress 2.0.4 до 2.5.1. После обновления 2.2 до 2.3 в админку можно было попасть только если исказить параметры подключения в конфиге. После этого админка работала, а блог был в «вопросиках».
Решается это гениально и достаточно просто, но с небольшими потерями.
1. сделайте экпорт базы — все таблицы, кроме таблицы wp_options (подставить тут свой префикс)
2. удалите все таблицы из базы и сымитируйте «чистую установку», т.е. откройте УРЛ блога и вам предложит заполнить его название и адрес мыла админа. После того как вы попадаете в установленный блог, сделайте еще один дамп базы (на всякий случай).
3. Удалите в базе все таблицы, кроме wp_options
4. импортируйте вашу нормальную базу (см п.1)
5. после этого вы сможете нормально войти в админку, только у вас пропадут все настройки плагинов и блога. Выставляются они за 5-10минут.
Больше сильных особенностей при переходе нет. Если Вы самостоятельно не можете справитсья с обновлением, то можете обратиться ко мне за платной помощью.
Стоимость услуги составляет 150-400рублей. Срок исполнения 30-120минут. В запущенных случаях может быть до суток, если потребуется приводить базу в нормальное состояние.
Часть действий понадобится не только при обновлении сборки Maxsite.org до «обычной», но и при обновлении обычных версий 2.0-2.2 (см пункты про исправление кодировок)
Удачи!
Связанные записи
55 комментариев на запись “Как корректно обновиться с WordPress «расширенной версии» Максима (Maxsite.org), а также со старых «обычных версий» 2.0.*(2.1.*) до WordpRess 2.5(2.6) английской или русской «обычных версий»”
Трэкбеки и пингбеки
- Первый секс без боли или ап Wordpress`а | Темко.ру
- Интересно прочитать о WordPress 2.6 | Блог о Wordpress от Тараса
Спасибо! Страничку сохранил и буду вдумчиво вчитываться! ;)
Кста, а не было ли эксперимента по переходу с 2.0.х на 2.5(2.6) с помощью плагина автообновления?
учитывая что плагин автообновления делает ТОЖЕ САМОЕ, что и любой нормальный пользователь делает вручную при обновлении, то смысла в таком тесте не вижу. т.к. плагин автообновления попытается скачать последнюю версию — читай 2.6 к примеру и сразу накатить ее на 2.0.*. при этом конфиг плагин НЕ ИСПРАВИТ и с вероятностью примерно в 50% вообще какая то часть информации грохнется. Вообще я пробовал обновлять 2.0.9 до 2.5.1 и все работало вроде, только с рубриками был какой то косяк.
По идее при таком переходе должны пострадать старые плагины, и рубрики станут метками.
Надо попробовать на досуге. Имхо, правельнее учить пользовать сей плагин ибо он делает бэкапы сам, а то пользователи не все понимают ответственность сих операций.
Очень сложно написал. Конфиги все поперепутывают…
Про обновление со своей сборки я уже рассказывал: http://maxsite.org/kak-obnovit-wordpress-moey-sborki
По обновлению с 2.0.* тоже много раз говорил. Последовательность такая:
— вначале до 2.0.9. Обязательно.
— после можно сразу до 2.3.3 (на большую не проверял, не пользуюсь).
Если проблемы с кодировкой базы, то лучше, чем экспорт-импорт нет. Проверено 100 раз. Для 2.0.*, где нет файла export.php, берем его из 2.1.
точно я про эту запись и говорил Гепарду недавно
вобще не думал преходить на последние версии.
у меня как то издавна блог на cp1251 и это меня устраивает. с utf8 я пока что имел больше проблем, чем радостей
но, чувствую, придется как-нибудь перейти. это, похоже, не так уж сложно
Не факт. Можно так обновиться, что половиной контента распрощаешься. :(
Согласно руководства все и делали. Где грабли — не понял. Я вообще такое в первый раз в жизни вижу, чтобы в одной БД часть текста в кодировке Win, а часть — в utf-8. Как такое вообще возможно?!
@ Гепард: можно хоть вообще все таблицы делать в разных кодировках. и даже поля таблиц
Скорее всего, так оно все и было. Может, разные плугинсы отправляли текст в БД в разных кодировках, этого я не знаю, ничего не понимаю в базах, к сожалению. Просто тупо скачал, в текстовом редакторе открыл и афигел. )))) Вроде хостер переходила на новую версию Спанели, а там требовалась именно конкретная кодировка utf-8, вот они там сами, без мну, все и конвертнули. Эх! ну и как водится часть отображается нормально, часть — в виде вопросиков. И на сайте выводится аналогично. А сейчас хостера вообще на месте нет. Две недели уже, в спанель не войти — авторизация не проходит, но как только, так сразу сделаю последний дамп (предыдущий, где еще все нормально было, у меня есть) и вышлю тебе письмом оба дампа. Может, сможешь исправить (не бесплатно, конечно ;)) и нормально обновиться. Жалко терять хороший сайт и начинать с нуля — тоже не очень хочется.
А можно наоборот с 2.5.1 версии на 2.3.? Говорят там визуальный редактор работает… или легче что-то с этим редактором сделать?
Спасибо, страница идет в «избранное»!
@ Danil: экспорт-импорт записей, а виз.редактор может не работать по целой горе причин. поищите по форумам. или поставьте плагин редактора FCKeditor. он работает в 99% случаев там где отказывается работать tinymce, но не работает вообще в Опере
Вопрос такой:
Скачал у вас, установил все ок, но несмотря на то что все вроде руссфицированно, в коментах вылезает англоязычность:
пример
Запись создана: Среда, 16 Июль 2008 в 10:22 и находится в рубриках Новости. Вы можете следить за комментариями к этой записи через ленту RSS 2.0. Вы можете оставить отзыв, или trackback с вашего собственного сайта.
One Response to “Привет мир!”
1. Irina Says:
Июль 16th, 2008 at 12:07
В качестве теста ололррр!
Leave a Reply
You must be logged in to post a comment.
да забыл — версия 2.6
@ Andrew: это у вас тема не русифицирована. http://forum.maxsite.org/viewtopic.php?id=1552. Стандартные темы из сборки все полностью локализованы. если быть точнее то искать вам нужно эти слова в comments.php вашей активной темы
что значит «накатить»? более подробно действия. плиз?
@ КомПик: значит записать файлы поверх старых
с 2.2 на 2.6 с помощью автоапгрейда — практически без потерь =)
Странно, тема по умолчанию — не менял :(
Благодарю за подсказку, где рыть! :)
С Уважением, Андрей !
@ Andrew: все, теперь понял о чем речь идет. файл в дистрибутиве заменил.
все понятно, там часть контента сайта отдается по порту 88, а он был забрит на рабочей проксе
А есть ли смысл обновляться, если новые фичи не нужны? Т.е. пофикшены ли там дыры в безопасности или только функциональное улучшение?
@ Ximik: если новые фичи не нужны то можно сидеть хоть на 2.0.11 просто новые плагины выпускают в основном ТОЛЬКО под новые версии и в новых версиях больше разных систем защиты как встроенных так и возможности подключать внешние
Можно ли заново поставить 2.6, а потом импортировать в него записи, страницы, метки из 2.5.1? А то у меня на блоге какие-то баги завелись — запись с первого раза не публикуется, а помещается в «Черновики», плагины некоторые не работают…
@ peacemaker: можно,но подозреваю проблема у вас где то в другом месте зарыта
Статья весьма полезная! Но есть некоторые «но».
А как же с кеем к паролю админа, который поддерживается с версий 2.5? Насколько я понимаю, тут будет проблема со входом администратора.
Небольшие сайты проще через экспорт-импорт обновить.
@ igrok54: а причему тут «кей» к паролю? проверял на разных версиях. проблем никаких, даже если этот «кей» менять потом на другие. все как говорится испытано на себе
Имел в виду вот эту полезную фичу из файла конфига WP 2.5:
// Измените SECRET_KEY на уникальную фразу. Вам не потребуется запоминать ее,
// сделайте ее подлиннее. Вы можете посетить https://www.grc.com/passwords.htm
// чтобы получить сгенерированную фразу, или напишите что нибудь сами.
define('SECRET_KEY', 'put your unique phrase here'); // Измените это на уникальную фразу.
Думаю, что в этом случае поможет такой вариант:
Заменить ключевую фразу на свою в конфиге дистрибутива на обновляемом сайте.
Установить заново отдельно новый чистый WP с той же ключевой фразой для шифрования пароля, поменять в админке WP сгенерированный пароль на нужный, зайти в PHPMyAdmin и взять пароль в таблице users.
Потом, после обновления сайта, поменять пароль в аналогичной таблице обновленного сайта.
@ igrok54: сегодня обновлял один сайт с 2.3.2 до 2.6 и никаких проблем вообще с паролями. обновлоял несколько сайтов с 2.3.3 до 2.5.1 и тоже никаких проблем не было. что то вы не то пишете
А я вот сталкивался с этим… Не понимаю, почему в разных случаях разное действие… Ведь пароль шифруется по ключу, в базу заносится шифр…
Сталкивался при перезаливке 2.5.1 поверх 2.3.3…
@ igrok54: может мы разный ВордПресс используем? :) ни разу не видел подобного, а обновлял как различные чужие сайты, так и десятки раз свои тестовые
Дистрибутивы тут беру — имхо лучшие!
Так что, вероятно, одинаковые…
Может у меня глюк какой был?
А такой вопрос: я редактировал большое количество файлов движка (WordPress 2.3.1 ), изменял не только визуальное отображение но и какие-то опции удалял/добавлял… Как мне обновить теперь wordpress? И можно ли заменить только те файлы, которые отвечают за безоопасность? Если да, то какие?
@ Glook: какие именно не помню, но чаще всего это файл xmlrpc.php (нужно искать. версия уже старая достаточно. файлы нужны от версии 2.3.3. а если хотите обновлять до последней то все хаки нужно будет вносить повторно при этом часть из них возможно придется менять
Фраза «накатить поверх» означает, что заменить все, кроме wp-config.php?
можно понимать и так. не удаляя uploads (и themes если тема стандартная модифицирована). вообще я на это много раз отвечал уже. не далее как пару дней назад где то в соседнем посте
Я вот обновился…. сутки поднять блог не могу…
Причем в чем проблема до сих пор отловить не могу.
@Mons: с какой на какую версию? подробнее плиз
C версии 2.5 с твоим переводом (я говорил что я твой фан ?) на версию 2.6.2.
Были проблемы с запуском. Вылечил, удалением всего, обновлением и сборкой бд по строчно ручками и потом обновив базу еще раз. Все ошибки виджетов лезли и изменения заголовка файлов. Советы сапорта не помогли. Сделал сам. Думаю обновление тут было не причем. Косяк был в том что совпал апгрейд и перезд на новый сервер.
Привет. Я вот обновляюсь с wp 2.0.4 до wp mu 2.6.3
Обновляюсь руками, с помощью Sypex и Sql-front
Посты встали, юзвери и категории тоже. А вот тэги к записям ни в какую. Ты не знаешь как перенести тэги со старого wp в новый (пусть даже в обычный, структура таблиц с тэгами у mu и обычного похожа)
а в версии 2.0.4 какие теги? если плагином то надо обновиться например до 2.6.3, импортировать теги плагина во «встроенные», а затем попробовать все же экспорт-импорт XML(RSS) встроенный
тэги реализованны не понятно как. видимо через custom fields
в базе вот такая бяка (postsmeta)
a:8:{i:0;s:5:"Дахаб";i:1;s:12:" виндсерфинг";i:2;s:6:" Анапа";i:3;s:8:" счастье";i:4;s:6:" жилье";i:5;s:10:" гостиница";i:6;s:5:" кэмп";i:7;s:8:" палатка";}
может есть какой нибудь способ привести это в божеский вид?
повторим вопрос.: в старом вп не было тегов и если они у вас были то через какой то плагин. вспоминайте через какой. если через Jerome keywords или UTW То ставьте плагин симплтаггинг и импортируйте теги в него (до версии вп 223). затем переходите на 2.3 и импортируйте теги из симплтаггинг в встроенные. дальше обновляйте до 2.6.3 же
Тэги реализованы на самописном плагине=((
Есть ли способ как нибудь тэги в полуавтоматическом режиме перенести в новый wp?
поставьте плагин симплтагс на 2.6.3 и в «масштабном редактировании» перебейте теги ручками. быстрее будет чем велосипед изобретать
ОУ… У меня 2000 постов от разных авторов
Сделал! Не так страшен черт!-))))
А как на счет обновления с 2.3.2 до 3.1.1?
Обновил вручную WP до версии 3.3.1. Всё прошло нормально, но появилась проблема с кодировкой в тайтлах рубрик и категорий.
Стоят плагины:
.html on PAGES
All in One SEO Pack
Google XML Sitemaps
Peter’s Custom Anti-Spam
RusToLat
Subscribe To Comments
Widget Logic
Yet Another Related Posts Plugin
Подскажите, пожалуйста, как решить эту проблему! Заранее благодарю!
Ваша статья наверное самая толковая во всем рунете об этой проблеме. Все решилось быстро, до этого просидел 2 часа. !!!