Archive for Апрель 19th, 2011

WordPress Fatal error: Call to undefined function wp-blog-header.php online 14 после обновления

На нескольких сайтах на WordPress, к которым я имею отношение,  случился фатал эррор. Выглядит он как в названии этого поста. Расскажу как я справися.

Fatal error: Call to undefined function wp-blog-header.php online 14

Это не универсальное решение. Ошибка в строчке 14 может появляться по разным причинам, например, если адрес сайта не соответствует инфе (на wordpress.org есть ветка по этой теме) или ещё по другим причинам. В нашем случае это случилось именно при автоматическом обновлении движка блога.
Я зашел в файл wp_config — и обнаружил первое несоответствие: у меня на хостинге пользователи баз данных имеют в названии префикс, состоящий из имени пользователя в системе. Ну, например, имя пользователя может быть blogxws_basename; а имя базы blogxws_username. Префикс пропал, хотя остальные данные сохранились. Префикс я знал, потому исправил его (хотя, конечно, лучше сверится если есть с чем).
Ещё я обычно меняю стандартный префикс баз данных с wp_ на какой-то иной. Это обеспечивает более высокий уровень защиты.
После этого подключился к базе данных через phpmyadmin (в хостинге в разделе «Базы данных») и сразу слева увидел правильный префикс для того конкретного блога. После этого я открыл сайт — с подключением к БД всё ок. Но сайт не отображается весь как надо и почему-то не входит в админку. Открыл wp-admin, открыл файлы — а они пустые. Видимо произошла ошибка при копировании, файлы создались, но не заменились. Потому я скачал самую свежую версию WP (русскую — обязательно ту же языковую версию качать!), распаковал на сервере (рекомендую делать это так, чтобы не заменились права на файлы) и заменил все файлы.
Имейте в виду, что нужно быть аккуратным с папкой wp-content (не в коем случае не удаляйте её — потеряете все вложения и плагины!!!). Кроме того, если Вы вносили изменения в оригинальную тему, они могут быть изменены. Да и вообще, в эту папку лучше переносить файлы по папкам, а не скопом.

В общем, вкратце инструкция такая:

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

, ,

7 комментариев