2012-05-13 3 views
0

У меня есть сайт Wordpress клиента, который построен с использованием Wordpress и Headway. Мне нужно перенести его в новый домен на новом общем сервере (тот же хост-провайдер с той же конфигурацией оборудования).Перемещение Wordpress с шагом в новый домен разбивает сайт

Я переместил многие установки Wordpress, как это раньше, включая компиляции Wordpress/Headway. Во время отладки я также использовал документацию Headway и видео, чтобы проверить, что я делаю все правильно.

Я переместил базу данных и заменил все вхождения старого домена на новый домен и обновил все пути к файлу. Затем я скопировал папку public_html на новый сервер. Сайт должен работать на этом этапе.

Вместо этого я получаю сообщение об ошибке Headway No Content to Display на другой пустой странице html. Я проследил проблему до таблицы wp-config, где Headway хранит сериализованные данные для своих блоков. Я могу обновлять данные по всей базе данных до нового домена всюду, кроме этих записей Headway в таблице wp-config. Как только я их обновляю, сайт начинает разваливаться повсюду, и если я обновляю их все, сайт загружает сообщение ошибки Headway No Content to Display. По-видимому, базовая система Wordpress работает, так как я могу загрузить консоль /wp-admin, и все мое содержание существует и выглядит правильно.

Если я отслеживаю проблему глубже, оказывается, что функция Wordpress get_options() не работает в файле Headway data-layout-options.php. Я не смог отлаживать дальше.

Сайт отлично работает на исходном домене, и, теоретически, я делаю прямую копию всех данных, а затем просто заменяю старый домен новым доменом.

Может ли кто-нибудь помочь с аналогичной проблемой? Похоже, я преследую ошибку в коде, когда на самом деле это какой-то простой контроль или настройка конфигурации, которая была запутана. Пожалуйста помоги!!!

ответ

0

Я действительно был близок к проблеме.

Сериализованные данные о прохождении в таблице Wordpress wp-config содержат длины строк. Перенос самой базы данных, а затем grepping и замена старого домена на новый путь к файлу и старый путь к веб-папке с новым пути к файлу веб-папки приводит к сбою несериализации в системе Wordpress (например, функция get_options() Wordpress).

Вместо того, чтобы писать собственный скрипт для обработки длин строк, я протестировал несколько плагинов миграции базы данных. WP Migrate DB был победителем и решил проблему.

Миграция базы данных

Установите плагин на исходной области (оригинал Wordpress установки). Он попросит вас ввести новый домен и новый путь к файлу вашего веб-каталога (также очень важен путь к файлу веб-каталога). В моем случае, например, путь к файлу веб-каталога был изменен с/home2/old_username на/home6/new_username.

Плагин затем сбрасывает всю базу Wordpress и заменяет все происшествия старого домена и старого пути на новый путь и путь к файлу веб-каталога. Дамп .sql затем сохранит локально на вашем компьютере.

Это не было совершенным, и мне все еще нужно было сделать несколько из моих собственных grep и заменить.Кроме того, я должен был быть осторожным в этом, потому что некоторые из тех, которые были упущены, были в сериализованных данных Headway, и я должен был выполнить MySQL-запросы, чтобы убедиться, что я правильно обновил длину строки.

Эти несколько обновлений были пропущены, поскольку в некоторых записях базы данных было http://www.olddomain.com, а у некоторых было http://olddomain.com. Плагин не поймал все, но сделал его удобным для замены вручную.

Наконец, мне пришлось импортировать этот обновленный дамп .sql в пустую базу данных Wordpress в новом домене.

Мораль этой истории заключается в том, что Headway V3 не просто перейти на новый домен. Вы должны быть очень дотошными.

Другой вариант, который я не пробовал, потому что он стоит> 75 долларов США, был BackupBuddy. Вероятно, BackupBuddy все равно пропустит некоторые обновления для домена и файла, поэтому будьте осторожны.

+0

Я была такая же проблема несколько раз. Я использую searchreplacedb2 из interconnectit (http://interconnectit.com/products/search-and-replace-for-wordpress-databases/), он должен unserialize-reserialize все, но почему-то HeadWay все еще ломается, когда перемещается в новый домен таким образом. – mikkelbreum

+0

@mikkelbreum - Вы когда-нибудь получали это приложение для работы и ведения сериализованных данных о прохождении? – ricbax

+0

Не без выполнения каких-либо дополнительных grep/replace: «Однако это было не идеально, и мне все еще нужно было сделать некоторые из моих собственных grep и заменить. Кроме того, я должен был быть осторожным в этом, потому что некоторые из них были пропущены были в сериализованных данных Headway, и я должен был выполнить MySQL-запросы, чтобы убедиться, что я правильно обновил длину строки ». –

0

Я нашел решение T. Brian Jones и только что применил его для WordPress 3.8.1 с HEADWAY 3.6.2.

Все работает нормально. Один трюк для новичков, подобных мне: если вы не знаете путь к файлу на сервере, на котором вы перемещаете свою базу данных, перед установкой базы данных dump установите WP. Перенесите DB на этот сервер, запустите плагин (Tools) и получите путь оттуда ...

Thank в TBJ

Maciej

Смежные вопросы