Решение проблемы с белым экраном в админке
Конкретно в моем случае корень проблемы крылся в том, что после команды сохранения или публикации записи в адмике, WP-Cron запускал огромное количество заданий, и это приводило к тому самому белому экрану. Я уже точно не вспомню, что это были за задания, но их было очень много в том числе с огромным количеством дублей. Появились они скорее всего после инсталяций различных плагинов WordPress, которые я пробовал использовать.
Инструмент для работы с WP-Cron
И на тот момент настоящим спасением для меня стал плагин WP Crontrol. После его установки и активации, страница событий зависла на несколько секунд и выдала мне список из сотен позиций заданий WP-Cron, которые я стал нещадно удалять. Список выглядит следующим образом:
Помимо того что вы можете видеть все задания которые запланированы, вы можете их удалять, редактировать периодичность и запускать прямо сейчас. А также плагин позволяет добавлять новые задания для выполнения. Интерфейс минимален и достаточно понятен. Все располагается на одной странице. Вот так выглядят поля для добавления нового события, правда я этой возможностью еще не пользовался.
Необходимо указать название хука WordPress, который вы планируете запускать с периодичностью, он должен быть указан у вас в файле functions.php актуальной темы. Далее при необходимости вы указываете аргументы для запуска, указываете дату следующего запуска и периодичность. И самое главное можете это все контролировать!
Если у вас возникла похожая проблема, проверьте свой список заданий WP-Cron.
Источник статьи/урока: https://xozblog.ru
Что вызывает эту ошибку WordPress?
Сломанный веб-сайт — это как удар в живот. Понятно, что вы хотите восстановить работоспособность как можно быстрее. Общие причины возникновения этой ошибки:
- Автоматизированные обновления плагинов
- Достижение ограничений на вашем сайте
- Обновление кода вручную, имеющее синтаксическую ошибку
- Структура разрешений для изменения файлов
- Тема WordPress вызывает какую-то проблему
- Создание автоматического обновления, вызывающее конфликты
Ошибка проявляется в виде белого экрана; ваш сайт по какой-то причине не загружается. Внешний вид может отличаться от браузера к браузеру (например, Chrome может предложить какой-то общий код ошибки, например 500), но основной результат тот же — сайт не работает.
Белый экран WordPress может быть вызван несколькими проблемами. Но все это сводится к следующему: если ваш сайт работал до этого, и теперь вы получаете WSOD, что-то изменилось. Чтобы исправить WSOD — надо понять что поменялось и скорректировать.
Замена активной темы
Если у вас есть доступ к Консоли
- Перейдите в раздел Внешний вид → Темы
в админке. - Активируйте любую стандартную тему, например, Twenty Fourteen или Twenty Thirteen.
- Обновите сайт. Какой результат? Ваш монитор до сих пор красуется белым полотном? Не теряйте терпения. Продолжайте искать причину дальше. Тем более что осталось еще совсем чуть-чуть.
Если у вас нет доступа к Консоли
В этом случае вам придется немного потрудиться, так как через админку все делать намного проще. Но что поделаешь, если у вас нет другого выбора.
- Подключитесь к серверу своего сайта через FTP и проверьте, что стандартные темы WordPress загружены на сервер.
- Теперь откройте phpMyAdmin
через панель управления хостингом и перейдите к таблице wp_options
в базе данных. - На странице параметров ищите «template
» и «stylesheet
». Их названия нужно заменить согласно названию директория темы, которую вы хотите сделать активной. В нашем случае это «twentyfourteen
» или «twentythirteen
«. - Обновите сайт. Если все осталось неизменным, то не стоит отчаиваться. Осталась последняя причина, которая могла спровоцировать появление белого экрана.
Увеличение лимита памяти PHP
Редактируем файл wp-config.php
Для этого:
- Установите соединение с сервером FTP и перейдите в корневой директорий сайта.
- Откройте файл wp-config.php
в текстовом редакторе и добавьте в него строку кода: define(«WP_MEMORY_LIMIT
«, «64M
«);Учтите, что указанный в строке объем памяти в размере 64Мб может отличаться в зависимости от используемого вами сервера. - Сохраните изменения и обновите сайт. Если все хорошо, то вас можно поздравить. Если нет, продолжайте искать проблему дальше.
Редактируем файл php.ini
- Снова соединитесь с сервером FTP и перейдите к корневой директорий вашего сайта.
- Получив доступ к файлу, добавьте в него следующую строку кода: memory_limit = 64M ;Если же у вас нет к нему доступа, то вы можете создать его в корневой директории вашего сайта на WordPress.
- Сохраните все изменения и обновите сайт. Имейте в виду, что максимальный объем оперативной памяти, необходимый для работы скрипта сайта на WordPress – 64 Мб.
Редактируем файл .htaccess
Этот файл есть на каждом сайте на WordPress.
- Для начала вам снова понадобится доступ к серверу FTP и корневой директории сайта.
-
Отредактируйте файл и добавьте в него строку кода:php_value memory_limit 64M
- Еще раз обновите фронтенд сайта. Белый экран по прежнему перед глазами? Тогда двигаемся дальше.
Описание проблемы с белым экраном в админке
Эта проблема доставляла некоторое неудобство, но не была критичной, потому как запись или страница сохранялась успешно. Да, мне приходилось вводить в адресной строке браузера путь и снова с главной страницы админки переходить в записи и продолжать редактирование. Поэтому я достаточно долго откладывал решение этой проблемы. Но когда чаша моего терпения переполнилась, то решить эту проблему с наскока не удалось. Какие только ухищрения не приходилось выполнять, обновлялся и откатывался в версиях WP, менял конфигурационные файлы, отключал все плагины, очищал таблицы базы данных от не нужных записей и тд. Чего как говориться я только не делал, даже меня хостинг, но все безуспешно. О том что мне помогло чуть ниже.
Кстати, планирую продолжить небольшой цикл статей связанный с тем как решались какие-то насущные вопросы этого блога, в том числе касающиеся оптимизации и анализа скорости сайта, кэширования и очисти таблиц базы данных. Поэтому оставайтесь на связи.
Проверка плагинов
Некорректно работающий или конфликтующий плагин — наиболее распространенная причина появления белого экрана и самый простой путь решения проблемы. Чаще всего причина заключается в каком-то из установленных плагинов, который конфликтует с другим плагином или активной темой. Мы должны выяснить что это за плагин и деактивировать его.
С доступом в консоль
Если у вас есть доступ к консоли управления сайтом, перейдите в раздел «Плагины» и деактивируйте самый последний установленный плагин(ы). В 99 случаях из 100 это решает проблему белого экрана и вы можете продолжить пользоваться сайтом в штатном режиме. Но если проблема не решилась — отключайте постепенно все до одного плагина, отслеживая параллельно работоспособность сайта. Если отключив все плагины, проблема не разрешилась — не расстраивайтесь, переходите к пункту 2.
Без доступа в консоль
Если вы не имеете доступа к консоли управления сайтом, подключитесь к нему по FTP с помощью любого FTP-клиента, перейдите в директорию wp-content в корне вашего сайта и переименуйте папку plugins в любое другое имя. После этой процедуры все плагины вашего сайта будут деактивированы. Проверьте доступность сайта в браузере. Если сайт стал активен, переименуйте папку снова в plugins, перейдите в консоль управления сайтом и вновь активируйте плагины, проверяя после активации каждого плагина работоспособность сайта. Напомню, ваша задача — выяснить какой плагин вызывает конфликт и избавиться от него. Если после деактивации всех плагинов проблема не разрешилась — переходим к следующему пункту.
Практика устранения белого экрана 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, но не простым и доступным, а ручным способом, да, мы ведь, хоть и используем дубину, но клиент не обрадуется если мы «Жахнем и весь мир в труху
» (с) ДМБ.
Что может очень расстроить любого пользователя WordPress, если не белый экран смерти? Вы наверняка о нем слышали или даже видели его на своем мониторе.
Из сегодняшнего подробного руководства, посвященного проблеме белого экрана, вы узнаете:
- Причины его появления
- Пути его устранения
- Что сделать, чтоб попрощаться с ним навсегда.
Мы пошагово рассмотрим четыре основных способа устранения «белого экрана смерти» раз и навсегда. Среди них:
- Проверка используемых плагинов
- Увеличение лимита памяти PHP
- Смена используемой на данный момент темы
- Активация debug режима
И только после этого можете переходить к выполнению первого метода.