Белый экран WordPress — советы как исправить. Белый экран wordpress. Замены активной темы без доступа к консоли WordPress

  • 19.05.2019

Большой интернет-магазин созданный на основе 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 . Остальное не трогаем, помни, наша задача не показать насколько мы круты, а сделать то, что желает клиент, он ведь всегда прав, как бы. И далее копируем всё из распакованного дистрибутива, при этом соглашаясь заменить все чего там он пожелает поменять, поверь он знает, что и где поменять, так что пусть меняет. Всё что останется, это зайти в панель администратора и проверить всё ли там путём. Да, админ панель по любому заработает после такого непотребства, которое мы с тобой свершили. Цель достигнута, добра тебе и процветания!

На вордпресс белый экран – довольно редкая и неприятная ситуация, способна расстроить практически любого веб-мастера. Чаще всего он проявляется после обновления CMS, установки нового или обновления старого плагина, смены шаблона или обновления активной темы.

Белый экран может выводиться строго на фронтальной части сайта (та, что видна пользователям), а может быть и хуже – даже при входе в консоль.

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

ВНИМАНИЕ: Перед тем как действовать – сделайте полный бэкап файлов и БД сайта.

Основными причинами белого экрана смерти на WordPress являются:

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

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

У меня есть доступ к Консоли

  1. Зайдите в раздел Плагины → Установленные.
  2. Отметьте все плагины и в поле «Действия» выберите «Деактивировать».
  3. Зайдите на сайт и проверьте его работу.
  4. Если это не исправило проблему, то причина кроется в чем-то другом и вам нужно переходить к следующему способу.
  5. В случае если сайт заработал, вам стоит начать активировать плагины по одному, при этом после каждой активации проверяйте работоспособность сайта.
  6. В результате вы наткнетесь на плагин, после активации которого появиться белый экран. Здесь есть два выхода: удалить его и найти альтернативу, ждать обновления (но не факт, что после обновления ошибку исправят) либо обратиться к разработчикам плагина.

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

  1. Вам нужно зайти через панель хостинга в Менеджер файлов вашего сайта, либо подключиться к нему с помощью .
  2. Зайти в папку wp-content и переименовать директорию plugins дав другое имя, например plugins2 .
  3. После этого все плагины деактивируются, так как система будет искать файлы плагинов именно в папке «plugins», а не в «plugins2».
  4. Проверьте работу сайта.
  5. Если ничего не изменилось – переименуйте папку обратно и переходите к следующему этапу.
  6. Если эти действия помогли, то для начала пробуйте вернуть название директории и проверить еще раз. Снова ничего не работает – попробуйте провернуть действия с переименованием для каждой папки плагина, то есть к папка внутри директории «plugins».

Нехватка памяти PHP

Часто проблема нехватки памяти PHP есть результатом работы какого-то фрагмента кода запроса, алгоритма или процедуры. То есть, это говорит о том, что php скрипту нужно использовать больше памяти, чем ему разрешено.

Исправляется данная проблемка, естественно, увеличением этого лимита.

Новый лимит через wp-config.php

  1. Откройте этот файл через редактор кода (либо текстовый редактор) и добавьте новую строчку с кодом: define("WP_MEMORY_LIMIT", "64M");

    Вставлять код нужно после первой строчки с содержанием

  2. Сохраните изменения и проверьте сайт. Если все работает – поздравляю, нет – ищем проблему дальше.

Новый лимит через.htaccess

  1. С помощью Менеджера файлов в панели хостинга (либо подключившись к серверу с помощью ), переходим в главную директорию сайта и ищем там файл.htaccess . Если он отсутствует, то создайте его.
  2. Затем откройте его через любой редактор текста и дополните такой строчкой php_value memory_limit 64M
  3. Пытаемся зайти на сайт. Если и дальше фатально ничего нету – двигаемся к следующему шагу.

Новый лимит через php.ini

  1. Если ваш хостер-провайдер предоставил доступ к файлу php.ini , то открываем его и добавляем строчку memory_limit = 64M;

    Если доступа к файлу нету, то вы можете его создать сами и поместить в главную директорию сайта с WordPress.

  2. Проверяем работу сайта. Если снова ничего не изменилось, то берем во внимание следующий шаг.

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

Ошибки в работе активной темы

У меня есть доступ к консоли

  1. Заходим в консоль сайта, переходим во вкладку Внешний вид → Темы.
  2. Сделайте активной любую стандартную тему. Если до этого вы их удалили, то скачайте дистрибутив WordPress и установите какой-то стандартный шаблон.
  3. Обновите страницу сайта. Есть изменения? Нет? Наверное нервы уже на исходе, но ничего, пытайтесь решить проблему дальше.

У меня нету доступа к консоли

Ошибки и баги в коде

  1. Зайдите в Менеджер файлов через панель хостинга (либо подключитесь к серверу с помощью ), зайдите в корневой каталог сайта и найдите там файл wp-config.php .
  2. Найдите в нем строчку define("WP_DEBUG", false);

    и замените следующей

    Define("WP_DEBUG", true);

  3. Если в файле такой строчки вы не нашли, то можете сами ее и дописать. Просто вставьте эту строчку define("WP_DEBUG", true);

    и сохраните изменения.

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

Заключение

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

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

Хорошо известный White Screen of Death («белый экран смерти ») является одной из самых распространенных, и, до сих пор, самой разочаровывающей ошибкой, которая может случиться с сайтом на WordPress .

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

Предлагаю обсудить следующие четыре метода, которые мы будем использовать для решения ошибки White Screen of Death :

  1. Проверка плагинов;
  2. Увеличение значения Memory Limit в настройках PHP ;
  3. Смена шаблона WordPress ;
  4. Включение режима отладки.

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

Плагины

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

Шаг 1
В панели навигации панели администрирования WordPress кликните по ссылке «Плагины » (Plugins ).

Шаг 2
В первую очередь отключите недавно установленные плагины. Обычно это сразу решает проблему.

Шаг 3
Если вы все еще читаете эту статью, значит, в решении вопроса вы еще не достигли финиша. Стоит попытаться деактивировать все плагины вашего сайта. Вы можете сделать это, пометив самый первый чекбокс, находящийся чуть выше списка, а затем, выбрав пункт «Отключить » из выпадающего меню.

Шаг 4
Подтвердите деактивацию плагинов, затем проверьте, заработал ли ваш сайт. Если заработал — поздравляю, можете дальше не читать. Если же нет — включайте плагины и продолжим.

Когда панель администрирования недоступна

Шаг 1
Без доступа к админку, вам стоит подключиться либо к FTP -серверу вашего хостинга, либо воспользоваться файл-менеджером через панель управления хостингом.

Шаг 2
В папке wp-content вашего WordPress-сайта просто переименуйте директорию plugins во что-нибудь вроде plugins-old или plugins-temp .

Шаг 3
Все плагины выключены и теперь вы можете попробовать обновить главную страницу вашего сайта в браузере. Надеюсь, что сайт загрузился без белого экрана. Все еще нет? В таком случае возвращайте прежнее имя папке plugins , будем искать дальше.

Увеличиваем лимит памяти (Memory Limit) в PHP

Редактируем файл ‘wp-config.php’

Шаг 1
Заходите по FTP или через файловый менеджер, доступный через панель управления хостингом, в папку вашего сайта и открывайте корневую директорию WordPress .

Шаг 2
Откройте файл wp-config.php в текстовом редакторе и найдите в нем следующий код:

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

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

Шаг 3
Сохраните файл wp-config.php и обновите главную страницу сайта. Если сайт заработал — можете возобновить работу с ним. Если нет — нам снова не повезло, и мы двинемся далее.

Редактируем файл ‘php.ini’

Шаг 1
Как и на предыдущих этапах «ремонта » сайта, подключайтесь к FTP -серверу, или же, используя файловый менеджер, доступный в панели управления хостингом, заходите в корневую директорию WordPress .

Шаг 2
Если есть доступ на запись в файл ‘php.ini’, то добавьте в него следующий код:

memory_limit = 64M ;

Если доступа на запись нет — просто создайте данный файл в корневой папке WordPress .

Шаг 3
Сохраняйте изменения и перегружайте главную страницу сайта. Вы должны знать, что максимальный размер php -скрипта может быть равен 64MB, потому не пытайтесь увеличить это значение.

Редактируем файл ‘.htaccess’

Шаг 1
В любом WordPress -сайте есть файл .htaccess , потому еще одна попытка решить проблему «белого экрана смерти » начнется также с доступа к корневой папке WordPress через FTP или через файловый менеджер панели управления хостингом.

Шаг 2
Откройте файл ‘.htaccess ‘ и добавьте в него следующую строку:

php_value memory_limit 64M

Шаг 3
Обновите главную страницу. Увидели её содержимое? Отлично! Нет? Читаем далее!

Меняем тему оформления WordPress

Если есть доступ к панели администрирования

Шаг 1
Заходим в меню «Менеджер тем » (Themes manager ), выбрав «Представление > Темы » (Appearance > Themes ) из меню, расположенного в левой части панели администрирования WordPress .

Шаг 2
Активируйте одну из стандартных тем WordPress , например, Twenty Fourteen или Twenty Thirteen .

Шаг 3
Снова обновите страницу и проверьте на наличие изменений в работе.

Если доступа к панели администрирования WordPress нет

Этот вариант немного сложнее, чем со сменой темы оформления через панель администрирования WordPress . Но, если другого выхода нет (или вам просто интересно как это сделать ) — смотрите далее!

Шаг 1
Снова заходим в папку нашего сайта через FTP или файловый менеджер и убеждаемся, что стандартные темы WordPress присутствуют на сервере.

Шаг 2
Заходим в панель администрирования вашего хостинга, затем входим в PHPMyAdmin и находим там таблицу wp_options в базе данных нашего WP -сайта.

Шаг 3
Скролите до записей ‘template ‘ и ‘stylesheet ‘. Оба эти поля должны быть переименованы согласно названию тем. В нашем случае это может быть ‘twentyfourteen ‘ или ‘twentythirteen ‘.

Шаг 4
Привычным движением обновляем главную страницу вашего сайта, надеясь на лучшее.

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

Если файл ‘wp-config.php’ содержит код отладки

Шаг 1
Заходите по FTP или через файловый менеджер панели управления хостингом на свой сайт и открывайте корневую директорию WordPress .

Шаг 2
Откройте файл wp-config.php и найдите в нём следующий код:

define("WP_DEBUG", false);

Шаг 3
Для включения режима отладки переменную логического типа ‘WP_DEBUG ‘ ставьте в значение true :

define("WP_DEBUG", true);

Шаг 4
Обновите главную страницу вашего сайта. Вы должны увидеть информацию о том, почему сайт может вываливаться в «белый экран смерти ». Для получения дополнительной информации о том, что на самом деле означает отладочная информация, используйте страницу из WordPress Codex . Она вполне может оказаться полезной.

Если файл ‘wp-config.php’ не содержит кода отладки

Шаг 1
Заходите по FTP или через файл-менеджер панели управления хостингом на свой сайт и открывайте корневую директорию WordPress .

Шаг 2
Откройте файл wp-config.php и вставьте в него следующий код:

define("WP_DEBUG", true);

Шаг 3
Обновите главную страницу вашего сайта. Вы должны увидеть на ней отладочную информацию. Для получения детальных данных о том, что означает эта информация, используйте WordPress Codex .

Пожалуй, каждый из нас хотя бы раз сталкивался с так называемым «белым экраном смерти» в WordPress после того, как устанавливал плагин или изменял какие-либо настройки. Ни контент, ни панель администратора – ничего недоступно. Если вам знакома описанная ситуация, эта статья для вас.

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

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

Отключаем плагины и темы

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

Если это не помогло, то в таком случае вы можете временно переключиться на дефолтную тему WordPress. Можно, к примеру, воспользоваться Twenty Fifteen. Если ваш сайт стал нормально работать, значит, проблема связана с вашей темой.

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

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

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

Чтобы включить режим отладки, вам нужно открыть файл wp-config.php вашей сборки WordPress. В нем должна быть следующая строка:

Define("WP_DEBUG", false)

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

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

Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38

Как вы можете видеть, проблему вызвала строка 38 плагина, который называется «my-test-plugin». Отключаем этот плагин, и все должно заработать.

Совет: если у вас имеется доступ по FTP или вы можете зайти на сервер через панель управления вашего хостинга (к примеру, cPanel), вы можете разом деактивировать все плагины, переименовав папку plugins, к примеру, в plugins.hold. Папка находится в wp-contents.

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

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

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

Define("WP_MEMORY_LIMIT", "64M");

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

Php_value memory_limit 64M

Если вы работаете с современными хостингами, которые используют в своей архитектуре Nginx, файл.htaccess может быть недоступен. В таком случае вы можете воспользоваться файлом php.ini для увеличения лимита памяти. Поместите в этот файл следующую строку:

Memory_limit = 64M

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

Решаем проблемы с правами доступа к файлам

Эта причина вряд ли может привести к белому экрану смерти, однако она по-прежнему может вызывать разные проблемы.

Для WordPress действуют следующие правила:

  • Файлы должны быть 664
  • Папки должны быть 775
  • Файл wp-config.php должен быть 660

Если у вас есть SSH-доступ к вашему серверу, вы можете применить соответствующие правила путем выполнения следующей команды, выполненной из корневой директории WordPress:

Sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} + sudo chmod 660 wp-config.php

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

Решаем проблемы с автоматическим обновлением

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

Первое, что нужно сделать в таком случае – это перейти в корневую директорию WordPress и посмотреть, есть ли в ней файл.maintenance. Удалите этот файл и попробуйте загрузить свой сайт снова. Если обновление было успешным – но 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);

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