Вопрос или проблема
Я пытаюсь перенести установку 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.
Как только вы загрузите и импортируете вашу базу данных на локальный сервер, выполните следующие шаги:
- Скачайте скрипт поиска и замены базы данных от Interconnect IT
- Распакуйте файл и поместите папку в ваш локальный сервер, где установлен WordPress (в корень), и переименуйте папку в
replace
(скриншот) - Перейдите в новую папку, которую вы создали, в вашем браузере (например:
http://localhost:8888/localsite/replace
) и вы увидите инструмент поиска/замены - Это должно быть самоочевидно до этого момента: введите ваш старый 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 с веб-хостинга на локальный сервер
-
Проверка конфигурации MAMP: Убедитесь, что MAMP работает корректно и сервер запущен на порту 8888. Откройте интерфейс MAMP и проверьте, что Apache и MySQL работают без ошибок. Вы можете зайти на
http://localhost:8888/
и убедиться, что страница MAMP отображается. -
Перемещение файлов сайта:
- Убедитесь, что все файлы вашего сайта находятся в папке
MAMP/htdocs/localsite/
. Убедитесь, что структура папок и файлы (wp-content
,wp-admin
,wp-includes
и другие) перенесены корректно.
- Убедитесь, что все файлы вашего сайта находятся в папке
-
Экспорт и импорт базы данных:
- Поскольку вы упомянули, что в экспортированной базе данных отсутствует опция
home
, это может свидетельствовать о неправильном экспорте. - Убедитесь, что вы правильно экспортируете базу данных с использованием phpMyAdmin или другого инструмента. Экспортируйте всю базу данных, а затем импортируйте её в phpMyAdmin вашего локального сервера.
- Поскольку вы упомянули, что в экспортированной базе данных отсутствует опция
-
Обновление URL в базе данных:
- Изменение полей
home
иsiteurl
в таблицеwp_options
— это важно, но недостаточно. Ваша база данных может содержать ссылки на старый домен в других таблицах, особенно в содержимом постов и медиафайлах. - Как рекомендовано в рекомендациях от пользователей, используйте Search-Replace-DB или аналогичный скрипт для замены всех экземпляров старого URL (
http://www.thesite.com
) на новый (http://localhost:8888/localsite
) по всей базе данных.
- Изменение полей
-
Обработка конфигурационного файла:
- В файле
wp-config.php
добавьте следующие строки, чтобы явно указать новый адрес сайта:
define( 'WP_HOME', 'http://localhost:8888/localsite' ); define( 'WP_SITEURL', 'http://localhost:8888/localsite' );
Это поможет WordPress правильно определять адрес сайта.
- В файле
-
Проверка ошибок в файлах:
- Если вы все еще получаете сообщение об ошибке, проверьте файл
error_log
вашего сервера для выявления возможных проблем, связанных с правами доступа, отсутствующими файлами или другими ошибками конфигурации.
- Если вы все еще получаете сообщение об ошибке, проверьте файл
-
Удаление временных файлов:
- Если вы использовали скрипт замены, не забудьте удалить папку с ним после завершения работы, чтобы не оставлять уязвимые точки доступа.
Итог
После выполнения всех вышеперечисленных шагов перезапустите MAMP и попробуйте снова открыть ваш сайт по адресу http://localhost:8888/localsite
. Если проблема не устранена, возможно, потребуется более глубокая диагностика конфигурации сервера или самой базы данных.