Белый экран на битриксе. Как найти ошибку.

Белый экран на битриксе. Как найти ошибку.

Проблема белого экрана битрикс существует давно. Как правило, возникает она после переноса сайта. И все-таки, как восстановить сайт на битриксе, если после переноса отображается белый экран?

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

В первую очередь, давайте обратимся к официальной документации 1С-Битрикс по этому вопросу.

Рекомендации от битрикса

В файле .htaccess нужно добавить строчку php_value display_errors 1 — так мы заставим сервер показывать РНР-ошибки, которые возникают. В файле, который находится по адресу /bitrix/php_interface/dbconn.php установим следующую переменную:

$DBDebug = true;

А в файле /bitrix/.settings.php добавим в массив элемент

'debug' => true,

Таким образом, можно увидеть, где именно зарылась ошибка и где её править.
Зачастую, ошибки можно найти в файлах /bitrix/php_interface/init.php или /bitrix/php_interface/dbconn.php — тогда всё, что Вам нужно — открыть файл и убрать ошибку.

Мои рекомендации

Может получиться так, что методом выше проблему решить не получится по разным причинам, поэтому попробуем такой путь:
Суть в том, чтобы узнать - не возникла-ли ошибка в одном из модулей системы. Для этого мы в файл /bitrix/php_interface/dbconn.php впишем следующую строчку:

define("SM_SAFE_MODE", true);

Эта строчка отключит все модули системы кроме main.

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

При таком методе решения проблемы, полезно иметь резервную копию, пусть и с проблемой белого экрана. Сначала убираем из файла /bitrix/php_interface/dbconn.php строчку define("SM_SAFE_MODE", true);.
Далее, мы можем открыть директорию /bitrix/modules/ и добавить к названиям всех директорий (кроме main) цифру один (1), как тут:

Белый экран битрикс, изменение директорий модулей

Далее, убираем у любого модуля (лучше это делать по порядку) цифру один, и обновим страницу на сайте. Сайт работает? Значит убираем цифру «1» у ещё одного модуля и снова обновляем сайт. Так мы делаем до тех пор, пока проблема не возникнет снова. Возникла проблема? Значит помечаем тот модуль, у которого последним убрали цифру «1», и убираем эту цифру у остальных модулей. Сайт продолжил работать? Значит проблема была именно в том модуле, который мы пометили. Если нет - значит таким-же способом ищем проблемный модуль.

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

Наверх