База данных MySQL дает пустую страницу (белый экран смерти)

В настоящее время я пытаюсь перенести живой сайт WordPress на локальный сервер для разработки. Я считаю, что сделал большинство шагов правильно, но я получаю только пустую страницу. Я совершенно уверен, что это проблема с базой данных, поскольку база данных, созданная из новой установки на локальном сервере, отлично работает, но база данных, содержащая данные с живого сервера, не является. Сервер – это сервер Ubuntu, и стек LAMP правильно установлен. Вот что я сделал (в настоящее время):

  1. Сделана новая установка WordPress. Сайт работает нормально, а база данных по умолчанию (emtpy) называется wp_test .
  2. Создайте новую базу данных с именем live_25_01_2015 и вставьте все данные с живого сервера с помощью mysqldump. Данные правильно вставлены.
  3. Я использовал инструмент interconnectit для замены всех экземпляров www.mypage.no с помощью localhost/var/www , который является местом, где Apache ищет файлы. Это сломает некоторые плагины (которые в настоящее время не существуют), но ссылки на изображения и другие вещи должны быть в порядке.
  4. Создайте нового пользователя MySQL с именем mysqlusr и дайте все привилегии этому пользователю как для wp_test и для live_25_01_2015 .
  5. Измените wp-config.php так, чтобы mysqlusr и его пароль были вставлены вместе с базой данных.
  6. Использование пустой базы данных wp_test теперь отлично работает, предоставляя по умолчанию WordPress сайт, но при переходе на сайт live_25_01_2015 пустая страница. Поэтому я считаю, что это должно быть проблемой с базой данных.

Другая информация, которая может или не имеет значения:

  1. Соли в wp-config.php из новой установки WordPress, а не из реального сервера.
  2. Плагины или темы не установлены, так как я сделал новую установку, так что это не может быть проблемой.
  3. В wp-config.php язык установлен на норвежский: define('WPLANG', 'nb_NO'); , так как живой сервер является норвежским.
  4. Пользователь mysqlusr может фактически выбирать данные из обеих баз данных, поэтому привилегии кажутся правильными.
  5. Включение WP_DEBUG ничего не делает. На экран не выводится ошибка, и файлы ошибок не создаются.
  6. Пытаться что-то повторить в первой строке wp-config.php ничего не делает.

По внешнему виду, вы должны изменить ранее существовавшие URL-адреса из /www.mypage.no в / localhost

/ Var / www обычно является частью пути к файлу (хотя я предполагаю, что вы могли бы установить сервер таким образом …), поэтому более чем вероятно, WordPress считает, что он находится в / var / www относительно корня веб-сайта вместо /.

Не забудьте также изменить два URL-адреса в таблице опций.

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

  1. Сначала все было настроено правильно, но я изменил www.mysite.no на localhost/var/www а не на localhost .
  2. Затем я перешел на новую установку WordPress с рабочей (пустой) базой данных. Реальная база данных не работала (как и следовало ожидать).
  3. Затем я обновил реальную базу данных, переключив localhost/var/www на localhost . Однако это не сработало. В этот момент я, вероятно, перепутал что-то еще. Также кажется, что правильным решением является использование IP-адреса сервера, по крайней мере в этом случае, когда я использую браузер на другом компьютере в сети.
  4. Затем я создал новую тестовую базу данных со всеми данными и сменил www.mysite.no на 192.168.1.2 , который является IP-адресом моего локального сервера, и скопировал файлы WordPress с живого сервера. Это заставило сайт работать должным образом. (В качестве побочной заметки я столкнулся с некоторыми проблемами с «Не удалось открыть поток: Permission denied». Это было исправлено при запуске sudo chmod -R 755 /var/www .)
  5. Теперь у меня были проблемы с permalinks (это совсем другая проблема). Файл .htaccess отсутствовал, поэтому я скопировал его с живого сервера и повторно сохранил параметры постоянной ссылки в Admin -> Settings -> Permalinks. Затем я переключил AllowOverride None на AllowOverride All в /etc/apache2/sites-enabled/000-default и sudo service apache2 restart .

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