Ошибка миграции с живого сайта на локальный хост

Вопрос или проблема

Я пытаюсь перенести установку WordPress с веб-хостинга на локальную машину для разработки. Я следовал этом руководству (раздел Ручной перенос работающего сайта WordPress на локальный сервер, пока мне не разрешено устанавливать плагины, так что я должен делать это вручную).

Я использую бесплатную версию MAMP и выполнил все шаги из указанного руководства. Но когда я попытался открыть сайт в локальной установке, я получил сообщение (в Safari):

Safari не может открыть страницу “localhost/sitename”, потому что не может подключиться к серверу “localhost”

MAMP загружает сайты по адресу localhost:8888/<site-name>, поэтому я выполнил:

UPDATE wp_options 
SET option_value = replace(option_value, 'http://www.thesite.com', 'http://localhost:8888/localsite') 
WHERE option_name="home" OR option_name="siteurl"; 

где thesite — это имя на веб-хостинге, а localsite — это имя папки в MAMP/htdocs/, куда я перенес файлы сайта.

Единственная странная вещь, которую я заметил, это то, что экспортированная БД с живого сайта не имеет опции home в wp_options. Я не знаю, является ли это обязательной строкой, но онлайн-сайт работал без нее.

Что я здесь упускаю? Если я правильно следовал руководству, сайт должен загрузиться.

Если вам нужна дополнительная информация о проблеме, просто дайте мне знать. Спасибо заранее за ваши ответы.

К сожалению, просто изменить home и siteurl в вашей таблице wp_options недостаточно. У вас все еще будет содержимое постов с вашим не локальным URL (http://www.thesite.com), из-за чего ваш сайт не будет отображаться правильно на вашем локальном сервере.

У вас должна быть таблица wp_options в вашей локальной копии. Все должно остаться целым. Чтобы убедиться, что вы правильно экспортировали базу данных с вашего живого сайта, пожалуйста, следуйте этим быстрым инструкциям, предоставленным WordPress.

Как только вы загрузите и импортируете вашу базу данных на локальный сервер, выполните следующие шаги:

  1. Скачайте скрипт поиска и замены базы данных от Interconnect IT
  2. Распакуйте файл и поместите папку в ваш локальный сервер, где установлен WordPress (в корень), и переименуйте папку в replace (скриншот)
  3. Перейдите в новую папку, которую вы создали, в вашем браузере (например: http://localhost:8888/localsite/replace) и вы увидите инструмент поиска/замены
  4. Это должно быть самоочевидно до этого момента: введите ваш старый URL в поле поиск… и новый URL в поле заменить на…

Вы можете нажать кнопку dry run под действиями, чтобы увидеть, что будет заменяться, прежде чем выполнять скрипт. После завершения не забудьте удалить папку /replace/.

Попробуйте это в wp-config.php

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

Ответ или решение

Краткий обзор проблемы:

Вы пытаетесь перенести установку WordPress с вашего веб-хостинга на локальный сервер с использованием MAMP. При попытке открыть сайт на localhost возникает сообщение об ошибке в Safari: "Safari не может открыть страницу ‘localhost/sitename’, так как не может подключиться к серверу ‘localhost’".

Шаги для успешной миграции WordPress с веб-хостинга на локальный сервер

  1. Проверка конфигурации MAMP: Убедитесь, что MAMP работает корректно и сервер запущен на порту 8888. Откройте интерфейс MAMP и проверьте, что Apache и MySQL работают без ошибок. Вы можете зайти на http://localhost:8888/ и убедиться, что страница MAMP отображается.

  2. Перемещение файлов сайта:

    • Убедитесь, что все файлы вашего сайта находятся в папке MAMP/htdocs/localsite/. Убедитесь, что структура папок и файлы (wp-content, wp-admin, wp-includes и другие) перенесены корректно.
  3. Экспорт и импорт базы данных:

    • Поскольку вы упомянули, что в экспортированной базе данных отсутствует опция home, это может свидетельствовать о неправильном экспорте.
    • Убедитесь, что вы правильно экспортируете базу данных с использованием phpMyAdmin или другого инструмента. Экспортируйте всю базу данных, а затем импортируйте её в phpMyAdmin вашего локального сервера.
  4. Обновление URL в базе данных:

    • Изменение полей home и siteurl в таблице wp_options — это важно, но недостаточно. Ваша база данных может содержать ссылки на старый домен в других таблицах, особенно в содержимом постов и медиафайлах.
    • Как рекомендовано в рекомендациях от пользователей, используйте Search-Replace-DB или аналогичный скрипт для замены всех экземпляров старого URL (http://www.thesite.com) на новый (http://localhost:8888/localsite) по всей базе данных.
  5. Обработка конфигурационного файла:

    • В файле wp-config.php добавьте следующие строки, чтобы явно указать новый адрес сайта:
    define( 'WP_HOME', 'http://localhost:8888/localsite' );
    define( 'WP_SITEURL', 'http://localhost:8888/localsite' );

    Это поможет WordPress правильно определять адрес сайта.

  6. Проверка ошибок в файлах:

    • Если вы все еще получаете сообщение об ошибке, проверьте файл error_log вашего сервера для выявления возможных проблем, связанных с правами доступа, отсутствующими файлами или другими ошибками конфигурации.
  7. Удаление временных файлов:

    • Если вы использовали скрипт замены, не забудьте удалить папку с ним после завершения работы, чтобы не оставлять уязвимые точки доступа.

Итог

После выполнения всех вышеперечисленных шагов перезапустите MAMP и попробуйте снова открыть ваш сайт по адресу http://localhost:8888/localsite. Если проблема не устранена, возможно, потребуется более глубокая диагностика конфигурации сервера или самой базы данных.

Оцените материал
Добавить комментарий

Капча загружается...