Как исправить белый экран смерти в WordPress

Если вы используете WordPress уже длительное время, то наверняка сталкивались с «белым экраном смерти» хотя бы однажды. Причина, по которой этот момент расстраивает пользователя, это то, что невозможно попасть в админку. А в виду того, что при этом текст ошибки не отображается на экране в большинстве случаев, вы остаетесь в неведении, где же закралась проблема. Самое же неприятное — что иногда проблема затрагивает только определенную часть сайта, и вы, к примеру, видите белый экран только в админке, но при этом главная страница отображается и функционирует как обычно. Иногда, такое случается только для какой-то записи, и снова таки, остальное работает нормально. В этой статье мы расскажем как исправить белый экран смерти в WordPress, рассмотрев несколько возможных решений.

Примечание: Прежде чем применять изменения к сайту, убедитесь, что у вас есть свежий бекап.

Почему возникает эта ошибка?

Чаще всего белый экран означает, что вы исчерпали лимит памяти. Это может быть вызвано плагином, который работает, но работает с ошибками; тема написана с ошибками; проблема может быть в вашем хостинге. В виду того, что поблема может быть вызвана несколькими факторами, у нее может быть множество решений.

Проблема касается других ваших сайтов?

Если у вас несколько сайтов, тогда первое, что вы должны сделать, это проверить белый экран смерти возникает на всех них, или только на одном домене. Если же остальные сайты также не в порядке — это указывает на проблемы у хостинг-провайдера. Однако, если неполадки только на одном из ваших сайтов, тогда стоит смотреть в сторону плагина или установленного шаблона. Если же неполадки с определенной записью в блоге или страницей, тогда, определенно, проблема с конкретным сайтом.


Увеличение лимита памяти


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

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugin.php on line xxx

Для решения мы открываем свой файл wp-config.php, находящийся в корнвой папке WordPress. Затем добавляем следующий код в основной php тег:

define('WP_MEMORY_LIMIT', '64M');

Мы только что увеличили лимит памяти до 64Мб. Если ошибка не исчезла, тогда свяжитесь со своим хостером. Они увеличат лимит в php.ini.

Отключение всех плагинов

Если увеличение памяти не помогло, или у вас выставлен высокий лимит типа 256Mб или 512Mб, тогда вам стоит начать пошаговый поиск неисправностей. По моему опыту решения подобных проблем, обычно дело в плагине или шаблоне. Идем дальше и отключаем плагины. Можно сделать это по инструкции: как отключить все плагины, если нет доступа к админке

Если этот способ помог, тогда включайте плагины по-одному.

Замена шаблона на стандартный шаблон WordPress

Если способ с плагинами не помог, тогда стоит попробовать изменить свой текущий шаблон на тот, который поставляется вместе с движком. Лучший способ сделать это: забекапить текущую папку с темой, затем удалить ее и ВП автоматически переключится на тему по-умолчанию.

В качестве альтернативы можно зайти в phpMyAdmin и обновить wp_options таблицу Базы Данных. Обновить нужно следующие строки в таблице:

template, stylesheet, и current_theme. Измените значение на twentyeleven.

Если проблема с белым экраном решилась, тогда вам необходимо смотреть в сторону файла functions.php вашей темы. Если найдете пустые строки в конце файла, необходимо их вытереть.

Другие варианты

Если ни один из вышеописанных не помог — значит необходимо попробовать переустановить движок WordPress. Иногда это не совсем очевидно, но файлы ядра могут оказаться поврежденными.
Также можно использовать функцию отладки в WordPress, чтобы посмотреть какой тип ошибок выводится на экран. Добавьте следующий код в файл wp-config.php.

error_reporting(E_ALL); ini_set('display_errors', 1);

define( 'WP_DEBUG', true);

После того, как вы проделали это, пустой экран будет отображать ошибки, предупреждения и уведомления. Это сможет помочь определить откуда у ошибки растут ноги :)

Иногда у вас может быть доступ к админ.части, однако сам сайт выглядит как пустое белое полотно. Это может быть вызвано плагином кеширования. Просто очистите кеш.

Если белый экран отображается на очень длинных записях, тогда вам также стоит попробовать очистить кеш.
Также можете попробовать следующее: либо добавить следующий код в wp-config.php, в некоторых случаях — в файл PHP.INI вашего веб-сервера.

/** Решение для больших постов */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);

Понятно, что все эти ошибки очень мерзкие, поэтому надеемся, что хотя бы один из способов помог вам решить проблему, с которой вы пришли на наш блог. Если же у вас есть другие способы решения, милости просим в комментарии.

VN:F [1.9.22_1171]
Rating: 4.5/5 (10 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Иван

    «Если проблема с белым экраном решилась, тогда вам необходимо смотреть в сторону файла functions.php вашей темы. Если найдете пустые строки в конце файла, необходимо их вытереть.»

    Спасибо огромное! Помогла последняя фраза. По ошибке оставил пробелы в конце «functions.php» темы! Еще раз спасибо!

    • http://web-devise.com/ ADv

      Всегда пожалуйста :)

      • Таня Карпова

        Добрый день! Подскажите пожалуйста! Белый экран появляется при обновлении плагина woocommerce но не обновлять его не могу, некорректно стали отображаться товары. Что можно сделать в этой ситуации? Заранее спасибо!!!

  • ilona

    У меня админ панель не переходит в меню плагинов, не могу увидеть установленные — появляется такая надпись Service Temporarily Unavailable. The server closed the connection without sending any data. The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Due to heavy load on the server, connections may be temporarily blocked from locations that fetch an unusually high number of pages. We apologize for the inconvenience,
    Не могу добавить новый плагин — появляется белый экран. Работает только редактор плагинов…То же в темах — не отображаются темы — белая страница…перепробовала все советы, что только нашла, ничего! Хостинг советует переустанивить движок, но я уже обновила вордпресс…что делать, не знаю

  • Ренат

    Спасибо дорогой! Помог совет с переименованием вбазе данных template, stylesheet, и current_theme на twentytwelve. Сайт заработал. А вот тема которая дала сбой работала нормально. Буду разбираться что с ней могло случиться.

  • Вера

    Доброй ночи.
    Ошибка 500 появляется при выходе из админки. ВП 3.8.1. стоит плагин TML свежей версии 6.3.9.
    Вы не сталкивались с подобным?

  • Вера

    Извините, вопрос снят. Оказывается на сервере не перезаписывался хтасесс. Обновила его вручную и ошибка исчезла.

    • http://web-devise.com/ ADv

      Недавно сталкивался. Виновником был functions.php. После обновления до 3.8 какая-то функция перестала поддерживаться ядром, и наблюдался белый экран после выхода

  • Ирина

    Спасибо огромное за ваши старания!!!!

  • Селена Мун

    А если окно смерти и строчка в браузере.. — сайт/wp-admin/post.php

    • http://web-devise.com/ ADv

      Попробуйте для начала отключить все плагины. Если проблема исчезнет — включать по-одному..

  • http://kineu.kz КИнЭУ

    Большое Вам спасибо, проблема решилась отключением плагина Simple Local Avatars, но сам плагин тоже очень необходим . Что же делать?

  • Виктор

    Здравствуйте. А не подскажите что делать если выдает ошибку «You do not have sufficient permissions to access this page.» при попытке входа в админ панель, после установки «голого» wordpress’a ? Префиксы не менял. Дамп базы данных еще не подгружал. Заранее спасибо.

  • Елена

    Здравствуйте, я новичок в создании сайта, сайт по ссылке u0053874.sprintsite.name , у меня такая проблема: на главной странице и при добавлении каждой страницы появляется в админ-баре такая запись class=»home blog logged-in admin-bar no-customize-support»>, вы не подскажете как это убрать? Сегодня в файле админ-бара я заключила в теги $ class и т. д., хотела обновить файл, но после этого в админ панели появился белый экран, как войти в редактирование сайта не знаю, то есть в файлы войти не могу. Как всё это исправить?

    • ADv

      Вы пробовали просто отменить свои последние действия?

      • Елена

        Я не знаю как это сделать, несколько раз пробовала зайти в панель, по прежнему белый экран.

        • ADv

          Можно подключиться к сайту с помощью FTP клиента, найти папку с вашей текущей темой и файл, в который вы вносили изменения. Далее скачать его себе на компьютер, в текстовом редакторе поправить код на его предыдущую версию (до изменений), сохранить файл и залить его обратно.

  • MILO

    Надо шаблон темы перезакачать все дело в ней, ее и редактили наверно
    на сайте supergalery.ru Супер каталог! Все отлично.

  • http://forumpchelp.ru Компьютерный форум

    Спасибо за статью,оперативно помогли!
    define( ‘WP_DEBUG’, true); — самый лучший метод)

    Сразу видно что и где не так.

    • ADv

      Всегда пожалуйста :)

  • Роман Коробкин

    Спасибо, помог дебаг. Сколько раз был белый экран — всегда из-за файла темы functions.php

  • Guest

    Здравствуйту, не могу понять почему белый экран: http://ifindok.com.ua/wp-admin/

    1. functions.php пробелов никаких нету

    2. Плагину отключал через переименование, не помогло

    3. В Config прописал как и решения для больших постов, так и define(‘WP_MEMORY_LIMIT’, ’64M’);

    4. Добавил
    error_reporting(E_ALL); ini_set(‘display_errors’, 1);
    3define( ‘WP_DEBUG’, true);

    5. Менял тему не помогло

    Есть еще варианты или может что-то не так сделал?

    • ADv

      Напишите в скайп advokat_b попробуем разобраться. Гадать на кофейной гуще не особо хочется :)

  • Sergiy

    Здравствуйте, не могу понять почему белый экран: http://ifindok.com.ua/wp-admin

    1. functions.php пробелов никаких нету

    2. Плагину отключал через переименование, не помогло

    3. В Config прописал как и решения для больших постов, так и define(‘WP_MEMORY_LIMIT’, ’64M’);

    4. Добавил
    error_reporting(E_ALL); ini_set(‘display_errors’, 1);
    3define( ‘WP_DEBUG’, true);

    5. Менял тему не помогло

    Есть еще варианты или может что-то не так сделал?

  • http://ovekon-servis.com.ua/ nedimaon

    Спасибо, отключение плагинов помогло. UpdraftPlus — Backup/Restore всё подпортил. Теперь надо подискать ему замену…

  • http://ireds.ru/ Ильдар Хакимов

    Спасибо! Помог код. С помощью него я понял, что где-то указаны старые пути к корню хостинга, отключил все плагины через базу данных и в админку войти удалось, сейчас продолжу работу по восстановлению оттуда.

  • Викентий

    Добрый день! Была смена домена http://vscenter.com.ua/ после чего в админке, при редактировании страниц нет возможности переключиться на визуальны режим(можно только править html версию) + есть ошибка вида «Missing argument 2 for get_post_meta(), called in далее идет путь» Что это может быть?

    • ADv

      Отпишите в скайп. Если конечно еще не решили проблему.

      • Викентий

        Спасибо, вопрос уже решился, правда хз что было :)

  • Максим

    Спасибо автору! Отключение плагинов помогло запустить сайт!
    Дальше нужно зайти в админку, обновить все плагины и поочередно их включать.
    После обновления запутились все, сайт тоже заработал.

  • Арсений

    Спасибо огромное за статью! Еще можете добавить, что белый экран может означать несопоставимую с темой/плагином версию PHP. Это — мой случай несколько раз))

  • саша

    решил проблему установив
    Notepad++ и редактировал только в нём

  • Анатолий

    «Если проблема с белым экраном решилась, тогда вам необходимо смотреть в сторону файла functions.php вашей темы. Если найдете пустые строки в конце файла, необходимо их вытереть.»

    Убрал пустую строку в конце файла — всё заработало. Спасибо большое!

  • Fill

    после вставки кода «error reporting» выдало ошибку:

    Warning: Cannot modify header information — headers already sent by (output started at /home/whatbetterfill/public_html/wp-content/themes/fashionistas/functions.php:1) in /home/whatbetterfill/public_html/wp-includes/pluggable.php on line 1207

    зашел в файл на 1207 строчку кода, ничего страшного не увидел вроде…

    • Юрий Волчик

      у меня аналогичная ошибка. Куда копать, подскажите плиз

  • Артем Валентинович

    здравствуйте. у меня белый экран только у двух записей (достаточно объёмных), остальные отображаются корректно. отключение плагинов проблему не решает. переход на дефолтную тему снимает проблему и эти две статьи отображаются нормально. вставка кода «для больших постов» также не устраняет проблему. подскажите, пожалуйста, что еще можно предпринять? тему менять не хочется. подозреваю, что проблема возникла после перехода на php-7.0, но при обратном переключении на старые версии php, толку никакого.

    • ADv

      Посмотрите в файл функций, возможно выставлено какое-либо условие именно для этих двух страниц

  • Daniil Gorshkov

    Была такая же проблема. Белый экран был только на главной странице сайта. Остальные страницы открывались нормально. Отключение плагинов не помогло. Сменил тему на стандартную, сайт ожил. Стал копаться в файлах темы (хорошо, что был исходник всех файлов темы). Обнаружил, что существенно отличаются по размеру файлы index.php. Заменил файл на исходный (из чистой темы), все заработало. P.S. файл fubction.php также посмотрел, в нем было все ОК.

  • mike evans

    У меня интерестнее история. в папке wp-content/mu-plugins лежал файлик uw-seed.php. В админке он не палился, но отмечался как необходимый. После удаления, всё заработало

  • Альберт Черешко

    помогло отключение всех плагинов

Scroll To Top