Сайт о телевидении

Сайт о телевидении

» » Что делать, если в WordPress возникает белый экран? Белый экран смерти WordPress

Что делать, если в WordPress возникает белый экран? Белый экран смерти WordPress

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

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

Навигация по странице:

Белый экран wordpress

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

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

И вы гарантировано увидите белый экран wordpress.

WordPress белый экран в админке

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

Сделать белый экран в админке wordpress очень просто, например можно править файл темы functions.php , допустить в коде ошибку (забыть закрыть скобку или установить лишнею) и сохранить изменения. Вуаля, ошибка wordpress белый экран в админке нам обеспечена. Кстати, такую детскую ошибку невозможно вылечить без доступа к сайту по фтп или файлового редактора из хостинг панели 🙂

Что делать если на сайте wordpress белый экран?

Нужно включить ошибки и диагностировать проблему.

Как включить вывод ошибок wordpress

Следуйте пошаговой инструкции, нажимая на цифры 1 2 3 в переключателю ниже:

Как избавится от ошибок wordpress

Предположим вы включили вывод ошибок wordpress, ваш белый экран стал экраном с текстом ошибок, что делаем дальше?

Нам нужно попытаться исключить ошибку!!!

Смотрим текст ошибки, там будет указан путь к файлу где возникла ошибка и строка, например я лишний раз закрыл } скобку в файле functions.php, за это получаю такую ошибку:

Parse error: syntax error, unexpected "}" in /home/c/site/site.bget.ru/public_html/wp-content/themes/twentyfifteen/functions.php on line 2

путь к файлу у нас есть, строка тоже идем и исправляем ошибку.

Конечно это самый простой пример, бывают ситуации намного хуже. Например установили вы кривой плагин и он заблокировал вам весь сайт вместе с админкой, что делать как отключить?

Довольно просто, из ошибки смотрим как называется плагин, допустим "wp-plagin-bag-ru" заходим на фтп и идем в папку "wp-content" -> "plugins" находим там такое имя директории "wp-plagin-bag-ru" и переименовываем ее во что угодно, например в "wp-plagin-bag-ru__".

Если это был вредоносный плагин то мы его отключили и сайт должен начать работать в штатном режиме.

Разумеется приводить примеры можно очень долго и все равно, найдется такой уникальный случай, который я не описал. Для таких случаев у нас на сайте есть раздел Вопрос/ответ, где вы можете написать ошибку, которую выдает ваш сайт, и мы с радостью попробуем вам помочь. Также, можно описать проблему в комментариях и мы ответим вам максимально оперативно.

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

Чаще всего это бывает при внесении изменений в код сайта, и можно догадаться о причинах проблемы или вернуться к прежнему коду, но бывает, что сайт перестает работать без всяких видимых причин. Иногда такая проблема возникает при входе в админ. панель сайта после обновления темы, при переносе сайта на другой хостинг и т.п. Возникло даже такое немного шутливое выражение: «Белый экран смерти WordPress».

К данной ситуации могут привести ошибки в теме, плагинах, нехватка ресурсов, проблемам исполнения скриптов на стороне хостинга.

Рассмотрим, что можно сделать, чтобы разобраться в причинах появления белого экрана в Вордпресс.

Включение отладки

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

1. Найдите в файле wp-config.php (находится в корневом каталоге вашего сайта) следующую строку:

define("WP_DEBUG", false);

Переключение константы WP_DEBUG в режим «отладки» (true) приводит к отображению возникающих в процессе выполнения кода ошибок и предупреждениях.

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

В этом случае помогает добавление в файл.htaccess (находится в корневом каталоге вашего сайта) строки вида:

php_value display_errors 1

php_value display _ errors1

Эта инструкция приводит к отображению ошибок php и в сочетании с первым пунктом должна помочь.

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

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

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

Если есть доступ в admin панель сайта, то можно отключить плагины прямо там. Если такого доступа нет, то подключаемся с сайту по FTP и переименовываем папку с плагинами (wp-content/plugins), например, на plugins1. После этого плагины перестанут работать и нужно проверить работоспособность сайта без них.

Смена темы

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

Если же доступа нет, то придется менять тему прямо в базе данных. Для этого входим в phpMyAdmin (в панели управления хостингом), находим там таблицу options. В этой таблице надо найти 2 записи (параметра): template и stylesheet. Их значения должны соответствовать рабочей теме. Поменяйте значения на названия тем, идущих в составе WP, например, twentyfourteen (эта тема должна быть на сайте).

Большой интернет-магазин созданный на основе WordPress и плагина WooCommerce. Со слов клиента: "Работал он работал, а сегодня стал заходить в админку, а там ничего нет. Не входит короче." Ну когда, не входит, это реально проблема, а с админкой что, не удержался, тролить это весело. Не подумай, я такого клиенту не сказал и тебе не советую их тролить, знай, что они по определению не понимают твоего и моего юмора. В общем беда, вместо удобной и красивой панели администратора CMS WordPress у нас белый экран смерти (это не я придумал, его так называют в сети).

Итак, клиент бегает и рвёт на голове волосы, на чьей история умалчивает. Сайт же, а, это, к слову сказать, интернет-магазин с ежемесячным оборотом от полутора миллионов рублей, вроде работает, но при входе в админ панель, появляется белый экран смерти и всё. Всё, это вот, реально, всё, не каких тебе интересных выкладок в консоли, ни каких тебе выводов предупреждений и сообщений об ошибках. Сам сайт сделан, как я уже написал выше на WordPress с использованием плагина WooCommerce.

Ну, Вы уже догадались, что я сделал первым делом. Именно, так, я залез в конфиг и включил режим отладки. Делается это просто, лезем по FTP в корень, или где там спрятан файл wp-config.php и открываем его для редактирования. Там есть специальная строка, которая задаёт, необходимую константу для CMS WordPress, собственно, в ней то и достаточно изменить false на true . И вот режим отладки включился.

Ну если у Вас там, по каким-либо причинам, нет такой строчки, не стесняйтесь допишите её сами. Можете еще и такие строчки туда добавить:

Define("WP_DEBUG_DISPLAY", false); define("WP_DEBUG_LOG", true);

Тогда у Вас будет создан файл debug.log в папочке wp-content и туда будут писаться все выявленные ошибки. Как Вы уже догадались, первая строка отключает показа ошибок в браузере, а вторая включает запись выше означенного файла лога ошибок.

Кстати, кто не знал, теперь знайте, движитель WordPress, это мудрый движитель, он легко позволяет немного спрятать свой файл конфигурации. По умолчанию wp- config. php находится в корне, но его можно переместить на уровень выше, то есть убрать совсем из общедоступной папки. Например, корень залегания Вашего сайта имеет путь <доменное имя сайта>/ public_ html/. Берём и переносим файл из public_ html в папку на уровень выше, то есть <доменное имя сайта>. Дальше хитрый движитель WordPress сделает всё сам. В смысле, не найдя файл в корне, он, не слишком удивившись данному факту заглянет на уровень выше, куда нет публичного доступа из сети, и о чудо, он найдёт там, файл, который мы туда благополучно спрятали.

Большая информационная сноска, ну не мог я смолчать, согласись, это же, полезная информация! Ладно, продолжим, данные действия нечего не дали, ошибок не было видать, так сказать, белый экран смерти WordPress, это не я его так окрестил, его так назвали на бескрайних просторах Интернет, был незыблем и всё так же символизировал собой, фразу "Вся жизнь - тлен ".

Ну, я-то ведь жизнерадостный иди… человек, да именно так, решил зайти, с другой стороны, глянуть логи ошибок через хостинг. Да, да, на хостинге есть такая фишечка. Собственно, включил логирование всех ошибок, пару раз обновил белый экран и полез смотреть, что там интересного мне понаписали в логах. Каково же было моё удивление, что и там тоже было пусто, то есть, реально, совсем пусто, как говорится ни одна муха не сидела.

Но, когда мы занимаемся нехорошим делом, нас не остановить, главное в конце не есть печеньку, а то с утра плохо будет.

Практика устранения белого экрана WordPress

Нормальные способы не помогли, я перешел к ненормальным. А, именно взял и добавил циферку 1 в названии папки plugins, расположенной в папке wp-content. Почему так, ну Вы не забыли, мы как бы в панель Администратора пытаемся попасть. Вот, а отключить сразу все плагины, можно тремя способами, через панель администратора, тем какой я использовал (он быстрее и проще) и третий через phpMyAdmin .

Пару слов о третьем способе, да, да, опять не могу удержаться и должен рассказать. Но это для Вас! Не важно, что Вы им не воспользуетесь, зато будете знать. Заходим в БД (о да, это она бро, та самая база данных, с которой ты не хотел связываться, и которая тебя, всегда пугала тремя буквами SQL) и там вводим, на вкладке SQL запросов, такую строку:

UPDATE wp_options SET option_value = "" WHERE option_name = "active_plugins";

Или же заходим в таблицу wp_option ищем там в столбце option_name , строку active_plugins . И вот уже в этой строке стираем содержимое ячейки option_value. Рекомендую тебе проделать это ручками, без использования SQL запроса, там тебе откроются великие тайны JSON, а именно в нём хитрый WordPress хранит данные в выше означенной ячейке своей БД. Чисто из любопытства на посмотреть, если нет желания, то используй SQL запрос.

В общем, я отключил плагины и ничего, опять белый экран, да и сайт еще перестал работать. Да, да, так бывает, когда, вдруг, отрубить все плагины, разом. Но, я, как ты помнишь, воспользовался вторым способом, и путём нехитрой манипуляции, снова запустил все плагины. И о, чудо, сайт снова заработал, но не админ панель, то есть мы пришли к тому, с чего и начинали. Белый экран и его сакраментальное "Вся жизнь - тлен". Но, как ты помнишь, я-то ведь жизнерадостный иди… человек. Решил не копаться дальше, можно было бы аккуратно дописать немного кода в файл admin.php и всё-таки найти ту заразу, которая рождала белый экран. И я бы этим и занялся, но клиент, сообщил, что белый экран появился после того, как сайт перенесли на новый хостинг, где он благополучно заработал и всё работало пока антивирус на хостинге (кстати, это был beget , да у них там бесплатный антивирус, мне тоже нравиться, там вообще много хорошего, рекомендую его) не сообщил, что найден вирус и надо полечить путём удаления вредоносного кода из файла (с какого хостинга перенесли сайт, по понятным причинам умолчу, скажу что он большой и солидный, и очень известный). Ну, клиент, естественно согласился и код был удалён. Но проблема всех антивирусов, что они удаляют не только вредоносный код, но и цепляют код который нужен, но был испорчен внедренным кодом.

В свете новой информации, я перестал танцевать с бубном и распевать шаманские напевы, а то уже домашние, стали косо на меня поглядывать и бросали подозрительные взгляды на телефон. И решил использовать, образно выражаясь дубину, ну это исконно русский способ ремонта тонкой электроники. А, именно, переустановить движитель WordPress, но не простым и доступным, а ручным способом, да, мы ведь, хоть и используем дубину, но клиент не обрадуется если мы "Жахнем и весь мир в труху " (с) ДМБ.

Кстати, дружище, я надеюсь ты уже на этапе между принял заказ от клиента и начал копаться в файлах сайта, потрудился сделать БЭКАП файлов сайта и его БД, ну или заставил сделать это клиента. Если нет, ну я не хочу говорить плохих слов, просто сделай это сейчас! И в будущем, чтобы ты не делал с сайтом клиента, всегда первым делом делай бэкап. Меняешь код в файле, сохрани первоначальный файл, просто переименуй его, добавь префикс _ old или еще чего-нибудь, это у тебя должно быть на уровне неосознанного рефлекса.

Но вернемся к нашему ручному обновлению WordPress. Тут всё просто идём сюда оф. сайт WordPress и скачиваем дистрибутив, нашего движителя. Распаковываем полученный архив у себя на компьютере. Затем открываем по FTP файлы нашего сайта (я пользуюсь WinSCP, ранее использовал FileZilla) и там удаляем два каталога это wp-admin и wp-includes . Остальное не трогаем, помни, наша задача не показать насколько мы круты, а сделать то, что желает клиент, он ведь всегда прав, как бы. И далее копируем всё из распакованного дистрибутива, при этом соглашаясь заменить все чего там он пожелает поменять, поверь он знает, что и где поменять, так что пусть меняет. Всё что останется, это зайти в панель администратора и проверить всё ли там путём. Да, админ панель по любому заработает после такого непотребства, которое мы с тобой свершили. Цель достигнута, добра тебе и процветания!

Расскажу почему появляется белый экран wordpress и как его устранить. Блоггер новичок любит все делать сам, ковырять тему и движок, потому что денег вкладывать не хочет.

Причины почему появляется белый экран wordpress

Расскажу причины как формируется белый экран wordpress. Приведу основные ошибки.

  1. Без знаний API начинают править файл function.php, это основной файл темы который регулирует весь шаблон.
  2. Редактируют файлы темы на стандартном редакторе вордпресса, чего делать нельзя. После сохранения файла через стандартный редактор, весь путь операций стирается, и если шаблон заклинило, то ничего не поможет.
  3. Спор плагинов. При загрузке нового плагина может произойти спор одного из установленных.
  4. Установка новой темы. Редко но бывает, особенно когда насильно загружают и активируют тему через ftp.
  5. После переноса ресурса, лучше доверять такие вещи сотрудникам хостинга.
  6. В основном это лишняя самоуверенность в программинге, я знаю что такое div значит все сделаю сам.
  7. После обновления движка wordpress, в последнее время обновления все более неустойчивые и кривые.

Делайте бекап, чем чаще тем лучше, я делаю каждые три дня.

Краткий список, причин может быть больше. Далее рассмотрю популярные приемы для устранения белого экрана

Первое: неисправности в коде

Которые сделал сам блоггер.

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

У вас есть доступ в административную панель вордпресса.

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

Не можете зайти в административную панель.

  1. Делаем через ftp. Заходим на хостинг по ftp каналу и находим файл(ы) которые изменяли. Путь такой public-html->wp-content->themes-> ваша активная тема.

Находим файл для правки, изменяем и закидываем обратно на хостинг.

Остались проблемы: идите на хостинг и проситесь в службу поддержки, они могут помочь исправить. Либо делайте простой бекап. На нормальных хостингах копии сайта и баз данных хранятся минимум 3 дня.

Спор плагинов и белый экран в админке

Спор плагинов основная причина белого экрана на вордпресс. Это наблюдается на тех блогах админы, которых очень любят их ставить. Бывают ситуации, что плагинов за 40 переваливает, это не допустимо.

Вы можете зайти в админку

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

В админку доступа нет

Этот случай более вероятен. Для устранения проблемы надо:

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

Есть еще один путь:

Этим путем вы узнаете сразу что именно мешает.

Кривая тема

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

Есть доступ к консоли

Меняйте активную тему на другую.

При активации другой темы, эту удаляйте сразу же, и сканируйте вордпресс на вирусы.

Нет доступа к консоли

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

Включение режима отладки

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

1 способ

То есть ошибка в index.php в четвертой строчке.

2 способ

Если ошибки не показались, но правим файл wp-content.php дальше, перед фразой /* Это всё, дальше не редактируем. Успехов! */ ставим комбинацию.

Ini_set("display_errors", 1);

Должно получиться так. Сохранили и скачали обратно.

3 способ

Сразу видно что сломалось. Но по умолчанию на хостинге этот режим может быть отключен, и правка wp-content не поможет. Тогда надо скачать.htaccess и внести в него эти строки. Сохранить и загрузить обратно на сайт.

Php_flag log_errors on

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

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

В некоторых случаях может выйти такая ошибка после включения отладки.

Это значит что выделенной оперативной памяти не хватает и ее надо увеличить. Есть три способа, все они связаны с ftp, так что сразу заходим в файловый менеджер и скачиваем первый файл.

  1. Файл wp-config.php скачиваем и вставляем в него вот этот код. Сохранили и обновили, если не помогло то идем дальше. define("WP_MEMORY_LIMIT", "64M");
  2. Файл.htaccess скачиваем и в него добавляем комбинацию. php_value memory_limit 64M
  3. На хостингах где идет связка с nginx, можно пробовать через файл php.ini, он должен лежать в корне сайта то есть вместе с папками wp-content и wp-admin. Если его нет то создаем, и помещаем в него эту комбинацию. memory_limit = 64M ;

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

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

Сейчас вы узнали почему появляется белый экран wordpress и как от него избавится. Основная причина кривые руки новичков в 90% случаев.

Если вы используете 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);

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