Страница админки не открывается - разбор причин
Своя страница административной части не открывается: белый экран, форма входа или ошибка доступа. Разбираем причины по убыванию частоты.
С чего начать
Включаем показ ошибок на время разбора страницы:
ini_set('display_errors', '1');error_reporting(E_ALL);require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';// белый экран почти всегда прячет обычную ошибку в коде страницыБелый экран административной части чаще всего означает фатальную ошибку кода. Показ ошибок на стенде превращает пустую страницу в понятное сообщение с файлом и номером строки.
Проверяем уровень прав текущего сотрудника:
printf("права модуля: %s\n", $APPLICATION->GetGroupRight('vendor.module'));printf("администратор: %s\n", $USER->IsAdmin() ? 'да' : 'нет');// уровень «D» означает закрытый доступ и вызов формы входа страницейСмотрим, тот ли файл подключается:
ls -la /home/bitrix/www/bitrix/admin/ | grep vendorls -la /home/bitrix/www/local/modules/vendor.module/admin/# страницы модуля обычно лежат в модуле, а в каталоге админки - файлы-обёрткиПроверяем пункт меню модуля:
grep -rn 'vendor_items.php' /home/bitrix/www/local/modules/vendor.module/ | head# ссылка в меню и имя файла страницы обязаны совпадать до символаСмотрим журнал ошибок веб-сервера:
tail -30 /var/log/nginx/error.log | grep -i 'PHP\|Fatal'# на боевом сайте показ ошибок выключен, и причина видна только в журналеПричины
-
Ошибка в коде страницы до вывода примерно 30% случаев
ПризнакСтраница отдаёт пустой белый экран без разметки и без сообщений об ошибке.
ПроверкаВключаем показ ошибок на стенде и смотрим журнал ошибок веб-сервера на бою.
Что делатьЧиним ошибку в коде страницы: фатальная ошибка обрывает вывод до первой строки разметки.
-
Права модуля закрывают страницу примерно 25% случаев
ПризнакВместо страницы показывается форма входа, хотя сотрудник уже вошёл в админку.
ПроверкаПечатаем уровень прав сотрудника на модуль прямо в начале кода страницы.
Что делатьВыдаём группе нужный уровень доступа или смягчаем проверку прав на этой странице.
-
Не подключён пролог административной части примерно 20% случаев
ПризнакСтраница выводит текст без оформления админки либо падает на первом же вызове.
ПроверкаСмотрим первые строки файла: подключены ли пролог и эпилог административной части.
Что делатьПодключаем пролог первой строкой и эпилог последней: между ними живёт код страницы.
-
Файл лежит не там, куда ведёт ссылка примерно 15% случаев
ПризнакПункт меню есть, но переход по нему заканчивается ошибкой о ненайденной странице.
ПроверкаСверяем путь из пункта меню с фактическим расположением файла страницы модуля.
Что делатьКладём файл-обёртку в каталог административной части и оставляем код страницы в модуле.
-
Пункт меню не появился в разделе примерно 10% случаев
ПризнакСтраница открывается по прямой ссылке, но найти её в меню невозможно.
ПроверкаПроверяем файл описания меню модуля и права на раздел, в который пункт добавляется.
Что делатьПравим описание меню модуля и сбрасываем кэш: меню административной части кэшируется.
Частые вопросы
Где должны лежать страницы своего модуля?
Сам код страницы держат в каталоге модуля, а в каталог административной части кладут короткий файл-обёртку. Тогда обновление платформы не затрагивает ваш код.
Почему вместо страницы показывается форма входа?
Так работает штатная проверка прав: при отказе страница вызывает форму авторизации. Проверяют уровень прав сотрудника на модуль и на раздел.
Можно ли отлаживать страницу на боевом сайте?
Показ ошибок там включать не стоит, лучше читать журнал ошибок веб-сервера. На стенде показ ошибок включают и работают спокойно.
Почему страница ломает вёрстку админки?
Обычно не подключён эпилог административной части в конце файла. Пролог и эпилог идут парой, между ними находится весь код страницы.
Как проверить страницу под обычным сотрудником?
Зайти под учётной записью с настоящими правами или временно снизить свои. Под администратором проверки прав проходят всегда и ничего не показывают.
Смежное
- Страницы в админке - оглавление подтемы
- Своя страница в админке: список, форма, пункт меню - как собрать страницу правильно
- Форма в админке: вкладки, проверка значений, тулбар - карточка записи и её проверки
- Права в своём модуле: уровни, проверка, интерфейс настроек - откуда берётся уровень доступа
- Свой модуль не устанавливается: разбор причин - если модуля нет в списке
- Белая страница вместо сайта: разбор причин - тот же разбор для публичной части
- Административный интерфейс - устройство интерфейса целиком
- Визуальный редактор не работает: разбор причин - когда не открывается только редактор