Руководство для новичков: белый экран

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

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

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

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

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

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

Три основные причины появления белого экрана

Основных ошибок появления белого экрана при попытке войти в консоль администратора всего три:

  • Исчерпан лимит памяти. Может быть вызвано плагином WordPress
  • Неправильный код PHP в плагине (плагинах) или активной темы WordPress
  • Ошибки в работе сервера вашего хостинга

Если у вас несколько сайтов на одном IP на вашем хостинге, проверьте работу вашего второго сайта. Если доступ на втором сайте в консоль администратора работает, значит, сервер ни при чем, третий пункт из списка — отпадает.

Если белый экран появляется на одной странице (консоли администратора или самого сайта) — это однозначно проблема вашего сайта.

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

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

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

Отключить все плагины

Это может быть вариантом решения, точнее, вы сможете сразу понять, что белый экран — это последствия не корректной работы какого-то плагина. Но как выключить, если нет доступа в консоль администратора? Очень просто — зайдите на свой сайт через FTP-клиента или файловый менеджер на сервере, и переименуйте папку /plugins, например так: /plugins.deactivate. Все плагины после этого автоматически отключатся.

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

UTF-8 без BOM

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

Если вы на компьютере редактировали файлы плагина или вашей активной темы WordPress, затем загрузили эти файлы на свой сайт, а редактировали файлы без сохранения в UTF-8 без BOM — вы могли нарушить корректную работу кода PHP и получили в итоге белый экран.

Как найти файл, который вы сохранили без кодировки UTF-8 без BOM?

Есть скрипт PHP, с помощью которого можно за считанные секунды этот файл или файлы найти. Скрипт написал мой земляк из Харькова, зовут его Юрий Белотицкий, кроме того, что он отличный кодер, он еще — модератор двух известных форумов русского WordPress.

Скачать скрипт find_bom

Скачали. Распаковали. Внутри — один файл PHP. Загрузите его в основную директорию сайта, там где файл wp-config.php. Запустите этот файл в адресной строке браузера. Если файлы PHP на вашем сайте корректные — вы увидите такое сообщение:

find_bomЕсли нет — вы увидите список файлов, которые сохранены без сигнатуры BOM. Вам нужно их пересохранить с сигнатурой BOM.

Если этот вариант не помог — идем дальше.

Перейти на дефолтную тему WordPress

Как вариант — что-то работает не корректно в вашей теме WordPress. Надо активировать дефолтную тему. Если доступа в консоль администратора нет, тогда через FTP-клиента или файловый менеджер вам надо скачать вашу тему на компьютер и удалить ее в папке wp-content/themes, оставив там только дефолтную тему. Учтите, что если у вас версия WordPress 3.8 — для вас дефолтная тема — последняя — 2014. Система автоматически переключиться на дефолтную тему.

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

Другие решения

Например:

  • Переустановить систему WordPress, возможно, у вас поврежден какой-то системный файл.
  • Включить отладочную функцию в файле wp-config.php (строка define ('WP_DEBUG', false);, слово false замените на true). Теперь белый экран может иметь сообщения об ошибках, главное: правильно их прочесть.
  • Иногда белый экран имеет ваш сайт (фронт-энд), а консоль работает нормально. Это проблема файлов кеширования и работы плагина кеширования. Вам надо его удалить или отключить и удалить (очистить) папку кеша.

Еще вариант

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

Ничего не помогло? Другие варианты решения?

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

Напишите в комментариях, поделитесь своими проблемами и решениями.

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

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

0 Comments

Добавить комментарий

Ваш email нигде не будет показан. Обязательные поля помечены *