Иногда процесс установки новой темы WordPress может завершиться довольно неожиданно: вместо яркого, привлекательного сайта разработчик сталкивается с пустой страницей, причем зачастую сделать переход к другой теме невозможно, так как доступ к панели администратора закрыт. Что в таком случае делать и как справиться с возникшими проблемами?
Прежде всего нужно понять, чем вызвана такая ошибка, почему тема WordPress не загрузилась должным образом. Это может происходить в результате следующих причин:
- Файлы темы содержат ошибку
- Тема обращается к функциям или специальным участкам кода, не представленным на вашем сайте
- Выбранная тема несовместима с вашим сервером, версией WordPress или PHP
- Плагины вызывают конфликт или содержат ошибку
- Ваш сервер неправильно сконфигурирован
Если WordPress возвращает пустую страницу, это означает, что в процессе установки темы произошла ошибка, вследствие чего сайт перестал корректно работать. Вывод пустой страницы был сделан для того, чтобы посетители сайта не видели сообщений, характеризующих ошибку. Такая методика носит название PHP Error Reporting (отчет об ошибках PHP); она была разработана для того чтобы помешать веб-сайтам выводить на экран коды ошибок. Вместо этого код не возвращает ровным счетом ничего, что и приводит к отображению пустой страницы. Несмотря на то, что такой подход является с технической точки зрения корректным, он может привести создателей сайта в тупик.
Отображение ошибок
Первое, что вам понадобится сделать для восстановления темы WordPress, это попытаться прочитать отчет об ошибках, которые произошли в PHP-файлах, что позволит вам определить, в чем заключалась проблема. На большинстве веб-сайтов эта настройка отключена по умолчанию, чтобы посетители не могли видеть код программы, однако, если ваш WordPress сайт окажется поврежден, вам понадобится выяснить, что привело к такому повороту событий.
Откройте FTP клиент и найдите файлы вашей темы (они расположены в папке /wp-content/themes/). Добавьте следующие строки в начало файла header.php:
error_reporting(E_ALL); ini_set(‘display_errors’,'On’);
Теперь, если вы обновите свой сайт, вы увидите сообщение об ошибке, из которого можно будет установить, какой файл поврежден на WordPress сайте.
Исправление файлов, расположенных на сервере
Как только вы добавите код обработки ошибок на свой сайт, вы сможете увидеть подробный отчет о том, как файлы темы были поверждены. Однако, если ошибка гнездится в конфигурации сервера, вы по-прежнему ничего не получите на экран. Существует две самых частых причины для возникновения ошибок такого рода. Обе причины связаны с файлами, расположенными в корневом каталоге сайта.
Первый из таких файлов — PHP.ini, позволяет переопределить настройки вашего сайта. С помощью php.ini можно увеличивать память или настраивать тайм-ауты для файлов. Редактирование этого файла владельцами веб-сайта может привести к появлению незапланированных ошибок сервера. Сделайте копию этого файла на своем компьютере и удалите его на сервере, чтобы понять, в нем ли кроется проблема.
.htaccess — второй файл, редактирование которого также может привести к сбоям сервера. Как и в случае с php.ini, сделайте бэкап этого файла и удалите или переименуйте его на сервере. Возможно, это поможет справиться с проблемой.
Восстановление стандартной темы веб-сайта
Если ваш веб-сайт стал отображать пустую страницу, первое, что нужно попытаться сделать — это восстановить стандартную тему WordPress с помощью FTP-клиента. После удаления проблемной темы, WordPress сделает откат к теме по умолчанию (Twenty Ten, или другой аналогичной), и ваш сайт снова станет доступен. Вам не нужно удалять всю тему целиком. Вместо этого вы можете просто переименовать папку с темой. Файлы тем расположены в корневой директории /wp-content/themes/, где каждая тема хранится в свой собственной, уникальной папке.
Как только вы переименуете или удалите злополучную тему, ваш сайт должен откатиться к теме по умолчанию. Если этого не произошло, проблема может заключаться в плагинах, поэтому вам придется произвести аналогичный процесс для деактивации плагинов.
Деактивация WordPress плагинов для восстановления сайта
Теперь, когда вы поняли, что проблема заключается не в теме, а в плагинах, самое время приступить к их деактивации, чтобы попытаться восстановить работоспособность сайта. Деактивация плагинов без доступа к средствам панели администратора WordPress может быть проведена через FTP, подобно тому, как мы деактивировали тему. Файлы плагинов находятся в корневой папке /wp-content/plugins/ и могут храниться как в подпапках, так и в виде отдельных файлов.
Если вы приблизительно знаете, какой из плагинов является проблемным, вы можете переименовать или удалить папку с ним (я рекомендую сначала сделать их локальную копию, чтобы потом можно было в случае чего эти плагины восстановить). Как только вы удалите или переименуете папку с плагином, попробуйте перезагрузить свой сайт. В конечном счете вы должны найти виновника и узнать, какой из плагинов привел к возникновению ошибки.
Решение проблем с ядром WordPress
В очень редких случаях проблема может лежать за границами вашей темы, плагинов и конфигурации сервера. В такой ситуации самое лучше решение — это загрузка последней актуальной версии WordPress с официального сайта и перезапись файлов, находящихся на сервере.
Источник: http://thisismyurl.com/4637/white-page-background-page-loads/
error_reporting(E_ALL);
ini_set(‘display_errors’,'On’);
Доброго дня. На прошлой неделе курил много по безопасности, и в общем то склоняюсь к тому, что отображение ошибок пхп лучше потом выключить. Во всяком случае на форуме, где крутится типа тру-хакерская тусовка, часто всплывают коды, которые призваны вызвать ошибку в модуле именно для того, чтоб пхп показал полные пути, имея которые уже что-то потом будут делать.
Совершенно согласен. Как только проблема будет решена, нужно обязательно отключить вывод этих кодов (если, конечно, сайт является привлекательной целью для хакеров)
Уф.. Читая тех балбесов малолетних, которые болтаются на всяких форумах взламывателей, только одно ощущение — это обезьяны с гранатой. Куда прыгнет, не известно, а чеки давно нет. "Чуваки срочна нужна однаго лоха сламать дайте шел" — типичный образчик своими словами. Как они друг друга понимают — непонятно. ;)
Вот так обычно и бывает — человек трудится, трудится, а потом кто-то от того, что ему просто было нечем заняться, на корню все ломает. Хотя, создатель и сам в какой-то мере виноват: не нужно быть "голым королем" (с) :)
Честно говоря, мои админские тараканы в шоке пребывают от вордпресса. Причин много, и озвучивать их в открытом доступе нелепо, по меньшей мере.
А то что человек трудится, это понятно. Я с трудом представляю каких трудов стоит людям далеким от всяких пхп, фтп, хттп, цсс, апачей, мод_реврайтов, прав доступа, и всего остального зоопарка поднять блог и заставлять его работать. Уважаю, однозначно.
И вот, приходит некое чудо, которое в своей жизни еще ничего не построило, но самоутвердиться надо, и какой путь это чудо изберет? Созидания? Дащаз! Это чудо слово это без ошибок не прочтет, не то что создаст что-то. Сие недоразумение пойдет утверждаться через андеграунд, романтика, и все такое.. Хакер. Угу. Слямзит на форуме скриптик, и будет бездумно тыкать им в кудаугодно. Где-то, по статистике, оно срастется. Чудо лопнуло от гордости, и тут же побежало рассказывать всему миру о крутизне..
Вот от таких заборчики и нужны, просто чтоб не срослось у них в этом месте. Тот кто разобрал связку движок-мускуль до винтика, на форум не пойдет, он его держит. И ломать будет за деньги. Это его работа. От такого отстреливаться — становиться настолько же грамотным в этом вопросе. Не. Я пас. Я сюда просто поговорить зашел. ;)
Будем собирать забор в свободное время)
Пробовал посмотреть ошибки с помощью этого кода, но увы, не срабатывает. Причем сайт с утра стал выдавать пустую страницу. Никаких работ с файлами не проводилось. Плагины проверил — не в них дело. Проверил файлы — все на месте, никаких "левых" кодов нет… В админку WordPress входит без проблем, редактировать можно все и вся. В чем еще может быть проблема?
Странно, код проверки должен работать, возможно, проблема с вашим сервером, обратитесь в службу поддержки.
У вас был установлен плагин AddThis, WPtouch или W3 Total Cache? На днях в них были замечены бэкдоры.
Если ничего не ставили, и ничего не меняли, то определенно сервер виноват)
я тоже больше склоняюсь к серверу… плагинов, кроме как rus-to-lat нет. В 6 утра сайт еще работал нормально, а в 8 уже нет… мистика :)
Создайте пожалуйста е-майл рассылку, хочу подписаться на ваш блог
спасибо, полезная информация)
Здравствуйте,при изменении файла functions.php ( по глупости и незнанию), выдается ошибка на 4 линии файла, как его восстановить? Знаю, что через FTP, но что там прописывать, незнаю, вот начало файла
<?php
add_filter('
var bncuniqid = '1Sc0c7VBvym5Nc7GBQ61';
var bncuniqsid = '39018';
незнаю уже куда обращаться, может Вы поможете?(((
Столкнулся с продлемой что при любом действии выдает чистый экран — приходится заново входить в админ панель. Все изменения которые производятся — все сохраняется, Пробовал отключить последние плагины которые добавлял — проблема не исчезает есть подозрения на плагин Terms Descriptions — (я установил его последним) который термины переводит в ссылки, но его отключал — и без изменений. Еще стоит плагни WP-Optimize. Может после запуска оптимизации что то почистилась не так как нужно?
Я в таких случаях обращаюсь к провайдеру, чтобы он произвел откат. У меня хостинг на агаве, они довольно шустро реагируют. Возможно, что в процессе оптимизации удалилось что-либо важное, поэтому обратно и не входит. Самому в таком случае вряд ли удастся что-то поправить, останется только обращаться в саппорт. Вообще, можно попробовать поотключать плагины поочередно, сменить тему на стандартную (только учтите, что потом могут потеряться ваши ручные изменения, если такие были)
Бьюсь над сайтом, получил эту самую белую страницу включил вывод ошибок как вы написали и ничего не происходит. Нарыл вот такой вывод php_flag log_errors on и показало что ошибка 500 (Internal Server Error). Непонятно сайт был в подпапке и я его просто перенес в основной домен.
Константы прописал:
define(‘WP_HOME’,’…’);
define(‘WP_SITEURL’,’…’);