Как корректно обновиться с 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 (см пункты про исправление кодировок)
Удачи!
Связанные записи
54 комментария на запись “Как корректно обновиться с 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
Подскажите, пожалуйста, как решить эту проблему! Заранее благодарю!