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 и исправить имя пользователя базы, имя базы, префикс
  • проверить соответствие всех файлов, либо заменить их вручную.

, ,

  1. #1 by Сергей - Июнь 26th, 2011 at 23:41

    Здравствуйте!
    Сделал, как Вы написали. Ошибка исчезла. Но вместо сайта — пустая белая страница. Как исправить?

  2. #2 by admin - Июнь 27th, 2011 at 23:29

    Сергей :

    Здравствуйте!
    Сделал, как Вы написали. Ошибка исчезла. Но вместо сайта – пустая белая страница. Как исправить?

    в админку заходит?
    если да, то скорее всего на хостинге появился (или был) файл index.html или index.htm
    его нужно удалить (основной файл wordpress’a — index.php)
    либо второй вариант — нет этого самого index.php, то есть при обновлении старый стерся, а новый не разархивировался. Скачайте нужную версию WP — дефолтную и залейте на хостинг только этот один файл.
    по идее будет работать.

  3. #3 by Сергей - Июнь 28th, 2011 at 11:07

    Нет, в админку не заходит. Файла index.html нет. Яуж грешить начал на линк доменов. Заново прилинковал. БД тоже перезалил, все файлы, тему… Файл config.php раз 20 перепроверил… В конце концов, все снова снес…

  4. #4 by admin - Июнь 28th, 2011 at 15:40

    Сергей :

    Нет, в админку не заходит. Файла index.html нет. Яуж грешить начал на линк доменов. Заново прилинковал. БД тоже перезалил, все файлы, тему… Файл config.php раз 20 перепроверил… В конце концов, все снова снес…

    значит не хватало каких-то файлов или что-то в базе… в конце концов решение все снести и поставить с нуля — верное 🙂

  5. #5 by Никита - Ноябрь 8th, 2011 at 16:40

    У меня тут такое дело захожу по этой ссылке «blog точка nicebux точка ru»
    вылазиет ошибка
    захожу по такомуже адресу ток добавляю wp-admin/install.php уже другая ошибка
    помогите пожалуйста.
    вот мои контакты ICQ 615 020 43четыре
    и майл я указал. кто может пишите в контакты помогите пожалуйста

  6. #6 by admin - Ноябрь 8th, 2011 at 19:48

    Никита :

    У меня тут такое дело захожу по этой ссылке «blog точка nicebux точка ru»
    вылазиет ошибка

    А что делали перед этим?
    обновляли wordpress?
    1. скачайте новую версию WP, распакуйте на компьютере и залейте поверх

    2. возможно проблема в плагине каком-то
    попробуйте все папки из папки wp-content/plugins/
    переместить в другую папку — если блог заработает — возвращайте по одному, и возможно сможете найти проблемный

    3. та же история как в п.2 с темами
    попробуйте все папки из папки wp-content/themes/
    переместить в другую папку — если блог заработает — возвращайте по одной

    4. в панели управления хостера есть доступ к mysql? попробуйте кнопку repair

  7. #7 by admin - Ноябрь 14th, 2011 at 04:00

    admin :

    Никита :

    У меня тут такое дело захожу по этой ссылке «blog точка nicebux точка ru»
    вылазиет ошибка

    Ура, разобрались!

(will not be published)

  1. No trackbacks yet.