Как я могу безопасно перенести свой блог WordPress на локальный хост?
Я пытаюсь сделать копии локальной разработки для своего блога WordPress. Сначала я попытался установить wordpress локально (на XAMPP для Windows), установить плагины, а затем импортировать текущие данные (из резервной копии БД). Проблема в том, что всякий раз, когда я импортирую текущие данные, я начинаю получать всевозможные ошибки, даже после того, как я изменяю URL блога через базу данных.
Кроме того, правила перенаправления, которые у меня есть на моем сервере, похоже, не работают локально (независимо от того, установлены ли они wordpress или некоторыми из его плагины).
Итак, есть ли безопасный способ просто захватить все это и заставить его работать локально точно так же, как сервер?
Мы очень ценим вашу помощь:)
6 answers
- получите полную резервную копию всех файлов в вашей онлайн-установке wordpress
- получите полную резервную копию используемой базы данных
- с помощью любого программного обеспечения для редактирования текста обработайте файл SQL резервной копии базы данных и измените каждое вхождение
http://old.site
наhttp://localhost
- извлеките файлы в корневой каталог вашего документа
- редактировать
wp-config.php
для настройки хоста/пользователя/передачи базы данных - импортируйте измененную резервную копию SQL
- войдите в панель администратора, перейдите в раздел Параметры->Постоянная ссылка и сохраните в обновить постоянные ссылки
Не нужно ничего устанавливать, просто возьмите то, что у вас есть в Интернете. В Windows вам, возможно, придется переименовать .htaccess
Может быть, кто-нибудь придумает инструмент, учебник или полное руководство по этому вопросу, но в то же время несколько общих моментов по миграции:
Правила перенаправления, вероятно, не работают, потому что у Windows возникли проблемы с именем файла
.htaccess
из-за начального.
. Что я обычно делаю, так это добавляю (или изменяю) директивуAccessFileName
в моей конфигурации Apache наhtaccess.txt
, которая делает файл более удобным для использования в Windows. Если это не поможет, поместите содержимое файла .htaccess вверх здесь.Исходя из моего (хотя и ограниченного) опыта работы с Wordpress, лучше сделать необработанную копию файла Wordpress и структуры данных, а не устанавливать свежую версию и добавлять все плагины. В базе кода Wordpress так много изменений (автоматическое обновление плагинов и т.д.), что проблем множество. Затем вам придется изменить пути локально в файлах конфигурации или настроить локальную структуру путей, которая точно имитирует эту на сервер.
Можете ли вы опубликовать некоторые ошибки, которые вы получаете при использовании живых данных?
Возможно, гораздо более простым способом было бы просто добавить ссылку на хост с адреса блога на локальный хост, напримерhttp://en.wikipedia.org/wiki/Hosts_file . Это позволит вам протестировать свой блог так, как если бы он действительно работал в домене, без каких-либо потенциальных ошибок.
Вот мой совет в 2 цента:
Если вы используете плагины, и у одного из них есть api-ключ (например, для аналитического инструментария Google требуется ключ), ключ может быть привязан к IP-адресу, на котором расположен ваш блог WordPress, и может выйти из строя под локальным хостом (127.0.0.1). Поэтому дважды проверьте, можете ли вы получить глобальный ключ, который может работать на любом IP-адресе. Это зависит от сервиса и плагина. Карты Google - это одно, а Рекапча - другое, которое приходит к ум.
Надеюсь, это поможет, с наилучшими пожеланиями, Том.
Ответ Кемпа почти идеален. Я только хотел добавить, что вы можете скачать что-то вроде VirtualBox или VMware, установить на него Linux и запустить веб-сервер на виртуальной машине. Это позволит вам преодолеть любые несоответствия между ЛАМПОЙ и ЛАМПОЙ.
Ответ Кемпа хорош, но вам не нужно редактировать свой дамп SQL или изменять базу данных.
Вместо этого добавьте 2 строки в свой wp-config.php файл (обычно я добавляю их чуть выше строки комментария в файле:
define('WP_HOME','http://localhost');
define('WP_SITEURL','http://localhost');
/* That's all, stop editing! Happy blogging. */ <-- this line already present in the file.