Коротко
Ошибка на сайте Битрикс почти всегда укладывается в один из нескольких сценариев: сбой после обновления платформы или модуля, конфликт с версией PHP, проблема с базой данных MySQL, неправильные права на файлы, сбой авторизации или ошибка обмена с 1С. У каждого сценария свои признаки и свой порядок диагностики, и первым шагом почти всегда становится включение подробного вывода ошибок и просмотр журналов.
Сайт на 1С-Битрикс редко «ломается сам». Обычно ошибке предшествует событие: обновили ядро или модуль, хостинг сменил PHP, закончилось место на диске, перенесли сайт, поменяли настройки обмена. Если вспомнить, что менялось, диагностика сокращается в разы. Ниже — самые частые ошибки, как их распознать и что делать владельцу, а что лучше отдать разработчику.
| Симптом | Частая причина | Где смотреть |
|---|---|---|
| Белый экран или «The script encountered an error» | PHP-ошибка в шаблоне, модуле или ядре | Журнал ошибок PHP, режим отладки |
| «DB query error. Please try later.» | Ошибка запроса к MySQL | Отладка БД, журнал MySQL |
| Ошибка 500 после обновления | Несовместимость модуля или PHP | Журнал ошибок сервера |
| 403 Forbidden | Права на файлы, правила сервера, проактивный фильтр | Права, .htaccess, журнал фильтра |
| Не пускает в админку | Блокировка после попыток, cookie, сессии | Политика безопасности группы |
| Не проходит обмен с 1С | Авторизация, лимиты, таймауты | Журнал обмена в 1С и на сайте |
Основная мысль
Любую ошибку в Битриксе чинят по одной схеме: вспомнить, что изменилось, включить подробный вывод и журнал ошибок, найти конкретный файл или запрос, исправить причину и только потом возвращать сайт в обычный режим, а не перебирать настройки наугад.
У Битрикса много слоёв: ядро, модули, шаблоны компонентов, собственные доработки в папке /local/, настройки сервера. Ошибка может возникнуть на любом из них, а внешне выглядеть одинаково — белая страница или короткое сообщение без подробностей. По умолчанию подробности скрыты от посетителей, и это правильно: текст ошибки может раскрыть пути и структуру сайта.
Поэтому диагностика начинается с того, чтобы увидеть настоящий текст ошибки. Дальше всё становится конкретным: имя файла, строка, текст SQL-запроса. С этой информацией большую часть ошибок исправляют за час-два, без неё — можно потерять день.
Как включить вывод ошибок в Битрикс
Подробный вывод ошибок включают в файле /bitrix/.settings.php — это основной конфигурационный файл ядра D7.
Режим отладки в .settings.php
Найдите в файле секцию exception_handling и поменяйте значение debug на true:
'exception_handling' => array(
'value' => array(
'debug' => true,
// остальные параметры оставьте как есть
),
'readonly' => false,
),
После этого вместо общего сообщения на странице появится текст ошибки с файлом и строкой. В той же секции можно задать параметр log — путь к файлу журнала, куда будут записываться ошибки. Файл журнала размещают так, чтобы он не открывался из браузера.
Безопасный порядок
- Сделайте резервную копию .settings.php перед правкой.
- Включите debug на короткое время, лучше в часы минимальной посещаемости.
- Воспроизведите ошибку и сохраните её текст.
- Сразу верните debug в false: подробный вывод на рабочем сайте раскрывает внутреннюю структуру.
- Для постоянного контроля используйте журнал ошибок, а не вывод на экран.
Где ещё искать подробности
- Журнал ошибок веб-сервера и PHP в панели хостинга.
- Журнал событий в административном разделе Битрикса — там фиксируются события безопасности и часть системных событий.
- На многих сайтах в файле /bitrix/php_interface/dbconn.php есть переменная $DBDebug: она включает подробный вывод ошибок базы данных. Её тоже включают только на время диагностики.
- Инструмент «Проверка системы» в административном разделе: он проверяет окружение, права на файлы, настройки PHP и базы данных.
Ошибка на сайте Битрикс вместо страницы
Когда Битрикс выдаёт ошибку вместо страницы, посетитель видит короткое сообщение или белый экран. Разберём самые частые варианты.
«The script encountered an error and will be aborted»
Это стандартное сообщение Битрикса о фатальной PHP-ошибке при выключенном режиме отладки. Причина может быть в шаблоне, компоненте, модуле или в собственном коде в /local/. После включения debug появляется текст ошибки — чаще всего это вызов несуществующей функции или класса, ошибка синтаксиса после ручной правки или несовместимость кода с новой версией PHP.
Белый экран
Пустая страница без текста обычно означает фатальную ошибку при выключенном выводе ошибок PHP или нехватку памяти. Смотрите журнал ошибок PHP в панели хостинга. Если там сообщение о превышении memory_limit, проблема в тяжёлой выборке или бесконечном цикле, а увеличение лимита лишь отсрочит следующий сбой.
Ошибки 500, 502, 503
Это ответы сервера, и в Битриксе у них те же причины, что и на любом PHP-сайте: ошибка в коде, падение PHP-FPM, перегрузка, таймауты. Общий разбор — в статье об ошибках 500, 502 и 503 на сайте.
Ошибки после смены версии PHP
Хостинг обновил PHP — и сайт перестал открываться. Старые модули и доработки могут использовать функции, которых в новой версии уже нет. Порядок безопасного перехода описан в статье о версии PHP для 1С-Битрикс: сначала тестовая копия, затем обновление ядра и модулей, затем проверка собственного кода.
Битрикс: ошибки при обновлении
Обновления — самый частый источник проблем, потому что меняется сразу много кода.
- Истёк период обновлений лицензии. Лицензия бессрочная, но обновления и техподдержка доступны год, дальше — продление. Цена продления зависит от редакции, актуальную смотрите в прайсе 1С-Битрикс.
- Не хватает места на диске. Перед обновлением система скачивает архивы, и их нужно где-то распаковать.
- Устаревшая версия PHP. Новые версии ядра требуют более свежий PHP.
- Нет прав на запись. Система обновлений не может перезаписать файлы в /bitrix/modules/.
- Таймауты. На медленном хостинге установка прерывается по времени выполнения скрипта.
Сайт сломался после обновления
Самая частая причина — изменения, внесённые прямо в файлы ядра или стандартных компонентов в папке /bitrix/. Обновление перезаписывает эти файлы, и доработки пропадают или конфликтуют с новым кодом. Правильное место для доработок — папка /local/ и скопированные шаблоны компонентов. Как обновляться без потерь, разобрано в статье об обновлении 1С-Битрикс без потери доработок.
Вторая частая причина — модули сторонних разработчиков из Marketplace, которые несовместимы с новой версией ядра. О том, как проверять модули перед обновлением, — в статье о модулях 1С-Битрикс.
Как обновлять безопасно
- Сделайте полную резервную копию файлов и базы.
- Разверните копию сайта на тестовом поддомене.
- Обновите тестовую копию и проверьте ключевые сценарии: каталог, корзину, оформление заказа, формы, обмен с 1С.
- Исправьте найденные проблемы.
- Обновите рабочий сайт в часы минимальной нагрузки.
- Очистите кэш и проверьте сайт ещё раз.
Битрикс: ошибка авторизации
Проблемы со входом в административную часть или личный кабинет пугают владельцев сильнее всего, хотя обычно решаются быстро.
Частые причины
| Ситуация | Причина | Что делать |
|---|---|---|
| «Неверный логин или пароль» при верных данных | Раскладка, пробел, пароль менялся | Восстановить пароль через почту |
| Вход заблокирован после нескольких попыток | Политика безопасности группы | Подождать или снять блокировку из-под другого администратора |
| Вход проходит, но сразу выкидывает | Cookie, домен, сессии после переезда или перехода на HTTPS | Проверить домен сайта в настройках и настройки сессий |
| Капча не отображается | Ошибка в модуле или нехватка графической библиотеки PHP | Проверить окружение в «Проверке системы» |
| Доступ запрещён после входа | Нет прав у группы пользователя | Проверить права групп |
Если пароль администратора утерян
Штатный путь — восстановление пароля по электронной почте. Если почта с сайта не уходит или адрес администратора устарел, доступ восстанавливает разработчик через базу данных или служебный скрипт с доступом к файлам сайта. Такой скрипт удаляют сразу после использования: оставленный на сервере, он становится дырой в безопасности.
Права пользователей
Иногда «ошибка авторизации» оказывается ограничением прав: сотрудник входит, но не видит нужный раздел. Права в Битриксе настраиваются для групп пользователей на уровне модулей, инфоблоков и разделов сайта. Подробнее — в статье о правах доступа в 1С-Битрикс.
Ошибка 403 и ошибки файлов в Битрикс
403 Forbidden
Ошибка 403 означает, что сервер понял запрос, но отказал в доступе. В Битриксе у неё несколько типичных источников:
- Права на файлы и папки. После переноса или ручной загрузки файлы могут получить неправильного владельца или права. Обычно папкам ставят права 755, файлам — 644; в dbconn.php для этого есть константы BX_DIR_PERMISSIONS и BX_FILE_PERMISSIONS.
- Правила в .htaccess. Ошибочное правило или запрет доступа к папке.
- Проактивный фильтр. Модуль «Проактивная защита» может заблокировать запрос, похожий на атаку, — например, отправку формы с HTML-кодом.
- Защита на стороне хостинга. Серверный модуль безопасности блокирует подозрительные запросы.
- Доступ к разделу в Битриксе. В свойствах папки задаётся доступ для групп пользователей.
Ошибка файла: загрузка и подключение
Ошибки файлов в Битриксе бывают двух видов. Первый — ошибка загрузки: картинка или документ не загружаются через админку. Причины — лимиты PHP на размер загружаемого файла, нет прав на запись в /upload/, закончилось место на диске. Второй — ошибка подключения: в тексте есть failed to open stream или No such file or directory. Это значит, что какой-то файл отсутствует: его не докачали при переносе, удалили вручную или обновление прошло не до конца.
Что делать
- Прочитайте полный текст ошибки: в нём указан путь к файлу.
- Проверьте, есть ли файл на сервере и какие у него права.
- Если файл ядра отсутствует, восстановите его из резервной копии или повторите обновление.
- Если ошибка в загрузке, проверьте лимиты PHP и свободное место.
Ошибки MySQL в Битрикс
Сообщение «DB query error. Please try later.» — это то, что видит посетитель, когда запрос к базе завершился ошибкой. Подробности показывает режим отладки базы данных.
Частые ошибки базы данных
- Table is marked as crashed. Таблица повреждена, обычно после аварийной остановки сервера. Таблицу проверяют и восстанавливают средствами MySQL или через инструменты хостинга.
- Table doesn’t exist. Таблицы нет: неполный перенос или прерванная установка модуля.
- Too many connections. Исчерпан лимит соединений с базой — перегрузка или «зависшие» запросы.
- MySQL server has gone away. Соединение оборвалось: долгий запрос, слишком большой пакет данных, таймауты сервера.
- Incorrect string value. Проблема с кодировкой: данные не помещаются в кодировку таблицы.
- Ошибки строгого режима. Битрикс рассчитан на работу без строгого режима SQL. После переноса на новый сервер строгий режим может оказаться включён, и часть запросов начинает падать.
Строгий режим SQL
Режим сбрасывают при подключении к базе. Для ядра D7 это делают в файле /bitrix/php_interface/after_connect_d7.php:
<?php
$connection = \Bitrix\Main\Application::getConnection();
$connection->queryExecute("SET sql_mode=''");
На многих сайтах эта строка уже есть. Если сайт перенесли и ошибки появились сразу после переноса, проверьте этот файл одним из первых.
Профилактика
Большие таблицы журналов, статистики и сессий раздувают базу и замедляют запросы. Их периодически очищают, а тяжёлые запросы каталога разгружают кэшированием — подробнее в статье про кэш в 1С-Битрикс.
1С-Битрикс: ошибки обмена с 1С
Обмен каталогом, ценами, остатками и заказами — одна из самых чувствительных частей сайта. Ошибки обмена видны в журнале обмена в 1С и в настройках интеграции на стороне сайта.
Частые причины
- Ошибка авторизации. Пользователь, от имени которого идёт обмен, не входит в разрешённые группы или сменил пароль. На некоторых серверах PHP не получает заголовок авторизации — тогда нужна правка конфигурации сервера.
- Размер файла и таймауты. Большая выгрузка не укладывается в лимиты. Помогает уменьшение размера порции (шага) обмена в настройках интеграции и увеличение лимитов PHP.
- Ошибки разбора XML. Некорректные символы в названиях товаров или сбой при формировании файла в 1С.
- Дубли товаров. Изменились идентификаторы в 1С или товары создавались на сайте вручную.
- Не приходят заказы в 1С. Не настроены статусы и правила выгрузки заказов.
Для случая, когда сервер не передаёт PHP заголовок авторизации, в .htaccess добавляют типовое правило:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Пошаговая настройка обмена и разбор типичных проблем — в статье о настройке обмена Битрикс с 1С.
Что можно исправить самому, а что — только разработчику
Не каждая ошибка требует вызова специалиста. Часть проблем владелец или контент-менеджер решает из административной части за несколько минут, а часть без доступа к коду и серверу не исправить.
| Ситуация | Можно самому | Нужен разработчик |
|---|---|---|
| Устаревшие данные на страницах после правки | Да, очистить кэш в настройках | Если кэш не сбрасывается или ломает вёрстку |
| Закончилось место на диске | Да, удалить старые резервные копии, расширить тариф | Если место съедают журналы или временные файлы неизвестного происхождения |
| Забыт пароль администратора | Да, восстановить по почте | Если почта с сайта не уходит |
| Ошибка после обновления модуля | Нет | Да, нужен анализ кода и совместимости |
| Ошибки MySQL | Нет | Да, работа с базой без копии опасна |
| Сбой обмена с 1С | Проверить пароль пользователя обмена | Лимиты, сервер, разбор XML |
| 403 на отдельной форме | Нет | Да, нужна точечная настройка фильтра |
Что подготовить перед обращением
Разработчик найдёт причину быстрее, если вы заранее соберёте:
- точный текст ошибки или скриншот и адреса страниц, где она появляется;
- что менялось перед сбоем и когда ошибка появилась впервые;
- доступы к хостингу, административной части и, при необходимости, к базе данных;
- сведения о лицензии: редакцию и дату окончания периода обновлений;
- информацию о том, есть ли свежая резервная копия.
С таким набором диагностика простых случаев занимает от часа, а стоимость работ по поддержке начинается от 2 000 ₽ в час.
Порядок диагностики: пошагово
Когда сайт выдаёт ошибку, действуйте по порядку:
- Запишите, что именно видно на экране и на каких страницах. Сделайте скриншот.
- Вспомните, что менялось за последние дни: обновления, PHP, перенос, новые модули, правки шаблона.
- Проверьте свободное место на диске и нагрузку в панели хостинга.
- Посмотрите журнал ошибок PHP и сервера.
- Включите режим отладки в .settings.php и воспроизведите ошибку.
- Найдите файл и строку из текста ошибки — это и есть отправная точка.
- Если ошибка появилась после обновления, проверьте доработки в /bitrix/ и сторонние модули.
- Исправьте причину на тестовой копии, если это возможно, затем на рабочем сайте.
- Очистите кэш, выключите режим отладки, проверьте ключевые сценарии.
Типичные ошибки владельцев и на чём опасно экономить
- Правка файлов ядра. Всё, что изменено в /bitrix/modules/ и стандартных компонентах, пропадёт при обновлении.
- Обновление без копии. Если что-то пойдёт не так, откатиться будет не к чему.
- Отладка, оставленная включённой. Подробные ошибки на рабочем сайте раскрывают пути и структуру.
- Отключение проактивной защиты «чтобы не мешала». Вместо точечного исключения для конкретной формы снимается защита со всего сайта.
- Годы без обновлений. Чем дольше перерыв, тем сложнее и дороже обновиться, а старые версии уязвимы.
- Ремонт на рабочем сайте без тестовой копии. Каждая попытка исправления видна клиентам.
Чек-лист
- Резервные копии файлов и базы делаются регулярно и хранятся вне сервера.
- Доработки лежат в /local/, а не в /bitrix/.
- Есть тестовая копия сайта для обновлений.
- Период обновлений лицензии активен.
- Версия PHP поддерживается текущей версией ядра.
- Журнал ошибок включён, режим отладки выключен.
- «Проверка системы» не показывает критичных проблем.
- Обмен с 1С работает, журнал обмена без ошибок.
Частые вопросы
Как включить ошибки в Битрикс?
В файле /bitrix/.settings.php в секции exception_handling установите debug в значение true. После диагностики верните false.
Почему Битрикс выдаёт ошибку после обновления?
Чаще всего из-за правок в файлах ядра, которые перезаписало обновление, или из-за сторонних модулей, несовместимых с новой версией.
Что означает «DB query error. Please try later.»?
Запрос к базе данных завершился ошибкой. Подробности покажет режим отладки базы данных или журнал MySQL.
Как исправить 403 ошибку в Битрикс?
Проверьте права на файлы и папки, правила в .htaccess, журнал проактивного фильтра и доступ к разделу для групп пользователей.
Что делать, если Битрикс не пускает в админку?
Восстановить пароль через почту, подождать снятия блокировки после неудачных попыток или обратиться к разработчику, если почта не работает.
Почему не проходит обмен 1С с сайтом?
Частые причины — ошибка авторизации пользователя обмена, лимиты размера и времени, некорректные данные в выгрузке.
Можно ли работать без продления лицензии?
Сайт продолжит работать, но обновления и техподдержка будут недоступны. Для безопасности и совместимости с новыми версиями PHP это рискованно.
Кто исправит ошибки Битрикс, если разработчик сайта недоступен?
Любой разработчик с опытом на 1С-Битрикс: нужны доступы к хостингу, административной части и, желательно, описание того, что менялось перед сбоем.
Можно ли исправить ошибки самому?
Простые — да: очистить кэш, освободить место, восстановить пароль. Ошибки в коде, базе и после обновлений лучше доверить разработчику.
Где хранится журнал ошибок Битрикс?
Путь к файлу журнала задаётся в секции exception_handling файла .settings.php. Журналы PHP и сервера доступны в панели хостинга.
Итог
Большинство ошибок на сайте 1С-Битрикс связано с обновлениями, версией PHP, базой данных, правами на файлы, авторизацией и обменом с 1С. Все они диагностируются одинаково: вспомнить изменения, включить подробный вывод и журнал, найти конкретный файл или запрос, исправить причину.
Чтобы ошибок было меньше, держите доработки в /local/, обновляйтесь через тестовую копию, делайте резервные копии и не откладывайте продление лицензии и обновление PHP на годы.
Если сайт на Битриксе выдаёт ошибку, не обновляется или не обменивается с 1С, я как частный разработчик на WordPress и 1С-Битрикс найду причину, исправлю её и подскажу, как избежать повторения. Работаю напрямую, без посредников — подробнее на странице доработки сайта на 1С-Битрикс.


