Разработка и Конфигурация · 8 мин
1С-Битрикс: на чем написана платформа и что это значит на практике
На каком языке написан 1С-Битрикс: PHP, базы данных MySQL и PostgreSQL, архитектура ядра, требования к серверу и что это значит для доработки и интеграции с 1С.
«1С-Битрикс: Управление сайтом» — это коммерческая система управления контентом (CMS), написанная на языке PHP. Код продукта открыт в том смысле, что владелец лицензии получает исходники и может их дорабатывать, но распространять их нельзя: лицензия остаётся проприетарной. В качестве хранилища данных используется реляционная СУБД — чаще всего MySQL или её форк MariaDB, в старших редакциях поддерживается также PostgreSQL и Oracle.
Практическое следствие простое: для размещения и доработки сайта на Битриксе нужен PHP-разработчик и классический LAMP/LEMP-стек — Linux, веб-сервер (Apache или nginx), PHP и MySQL. Это самый распространённый и дешёвый в найме стек, поэтому специалистов на рынке много, а хостинг под Битрикс предлагает большинство провайдеров, включая специализированные тарифы.
Из чего состоит технологический стек Битрикса
Платформа построена по классической трёхуровневой схеме веб-приложения. Серверная логика — PHP, который обрабатывает запросы, работает с базой и формирует HTML. Клиентская часть — HTML, CSS и JavaScript: в публичных шаблонах и в административном интерфейсе используются собственные JS-библиотеки Битрикса, в новых компонентах встречается Vue.js. Хранение данных — реляционная СУБД, файлы (картинки, кеш, загруженные документы) лежат в файловой системе сервера.
Кроме основного трио, в реальных проектах почти всегда задействуются дополнительные компоненты: nginx как фронтенд для отдачи статики, memcached или Redis для кеширования, PHP-акселератор OPcache, а для поиска по каталогу — встроенный поисковый механизм или внешние решения. Мобильные приложения и REST API общаются с ядром через HTTP-интерфейсы, написанные всё на том же PHP.
Вся бизнес-логика ядра и компонентов написана на PHP
Основной вариант; в старших редакциях доступны PostgreSQL и Oracle
Шаблоны, собственные JS-библиотеки, в новых компонентах — Vue.js
Рекомендуется связка nginx (статика) + Apache/PHP-FPM (динамика)
Как устроено ядро: старая и новая архитектура
Внутри продукта сосуществуют два поколения кода. Старое ядро (его называют «main» или классическим API) — процедурно-ориентированный код с глобальными функциями и классами вида CIBlockElement, CUser, CSaleOrder. Оно формировалось годами и до сих пор обеспечивает большую часть административного интерфейса и обратную совместимость.
Новое ядро, известное как D7, — объектно-ориентированный слой с пространствами имён Bitrix\Main, Bitrix\Iblock, Bitrix\Sale и ORM с сущностями, таблицами-данными и запросами через getList(). Современные модули и REST-приложения пишутся именно на D7. Разработчику важно понимать обе модели: в реальных проектах они переплетены, и документация по старому API до сих пор актуальна для многих задач.
use Bitrix\Iblock\ElementTable;
$items = ElementTable::getList([
'filter' => ['IBLOCK_ID' => 12, 'ACTIVE' => 'Y'],
'select' => ['ID', 'NAME'],
'limit' => 10,
])->fetchAll();Требования к серверу и окружению
Минимальное рабочее окружение — Linux (поддерживается и Windows Server, но на практике почти все используют Linux), PHP версии, указанной в системных требованиях текущего релиза, MySQL/MariaDB и веб-сервер. Для проверки соответствия хостинга у Битрикса есть штатный скрипт проверки и модуль «Монитор производительности» внутри админки — они показывают настройки PHP, скорость работы с базой и файловой системой.
Отдельный вариант — виртуальная машина BitrixVM: готовый образ на базе Linux с уже настроенными nginx, PHP, MySQL, memcached и почтовым агентом. Для типового проекта это самый быстрый способ получить корректное окружение без ручной настройки. На Windows технически развернуть можно, но часть модулей и оптимизаций рассчитана на Linux, а хостинг-поддержка Windows-окружений существенно уже.
- 1Уточните версию PHP и сравните её с системными требованиями вашей версии Битрикса
- 2Запустите штатный скрипт проверки сервера от Битрикса или разверните тестовую копию
- 3Откройте «Монитор производительности» в админке и снимите замер не менее чем за несколько минут нагрузки
- 4Проверьте ключевые показатели: время отклика БД, файловой системы и наличие OPcache
- 5При проблемах включите кеширование и memcached, затем повторите замер
Что стек означает для доработки и интеграции с 1С
Для владельца сайта главный вывод — кадровый: дорабатывать Битрикс может любой PHP-разработчик, но качественно — тот, кто знает API ядра. Прямые SQL-запросы к базе и правки файлов ядра — типовая ошибка новичков: такие изменения стираются при обновлениях и ломают целостность данных. Правильный путь — собственные модули, компоненты, обработчики событий и файл init.php.
Интеграция с учётными системами 1С (Управление торговлей, ERP, Комплексная автоматизация) реализована штатным обменом по протоколу CommerceML: 1С выгружает товары и цены на сайт, сайт передаёт заказы обратно. Со стороны сайта этот обмен обслуживают модули Битрикса, со стороны 1С — типовой или доработанный модуль обмена. Если типовой выгрузки не хватает, используют REST API Битрикса или пишут собственные обработчики — и снова всё упирается в PHP и знание D7.
Ограничения и типичные ошибки
PHP как язык накладывает предсказуемые ограничения: каждый запрос обрабатывается отдельным процессом, поэтому производительность сильно зависит от кеширования и качества SQL-запросов. Тяжёлые каталоги с сотнями тысяч товаров требуют настройки фасетных индексов, композитного кеша и иногда выноса поиска во внешние движки. Это не дефект платформы, а особенность стека, которую нужно учитывать при проектировании.
Альтернативы и когда Битрикс оправдан
Если смотреть шире, Битрикс конкурирует с бесплатными CMS вроде WordPress (тоже PHP) и с фреймворковой разработкой на Laravel или Symfony. Решающий аргумент за Битрикс — готовая экосистема для e-commerce в связке с 1С: каталог, заказы, оплаты, доставки и штатный обмен с учётной системой из коробки. Если интеграция с 1С не нужна, а контент простой, более лёгкие CMS могут оказаться дешевле в поддержке.
Сравнение вариантов
Подходит для магазинов и порталов с обменом данными с 1С; ограничение — стоимость лицензии и требования к хостингу
Дешевле на старте, гибок для контентных сайтов; обмен с 1С придётся собирать из сторонних решений
Максимальная гибкость и чистая архитектура; всё, включая админку и интеграции, нужно писать с нуля
Частые вопросы
Можно ли посмотреть и изменить исходный код 1С-Битрикса?
Да, владелец лицензии получает исходный код и может дорабатывать его под свои задачи. Но править файлы ядра напрямую нельзя с практической точки зрения: обновления перезапишут изменения. Доработки оформляют через собственные модули, компоненты и обработчики событий.
Подойдёт ли для Битрикса обычный дешёвый shared-хостинг?
Технически — да, если хостинг соответствует версии PHP и даёт MySQL. Однако на слабых тарифах сайт будет медленным из-за ограничений памяти и процессорного времени. Для магазина с трафиком разумнее VPS или специализированный тариф под Битрикс, либо виртуальная машина BitrixVM.
Какого специалиста искать для доработки сайта на Битриксе?
Нужен PHP-разработчик с опытом именно Битрикса: знание ORM ядра D7, инфоблоков, событийной модели и штатного обмена с 1С. Общее знание PHP без опыта платформы часто приводит к правкам ядра и прямым запросам к базе, что создаёт проблемы при обновлении.
Обязательно ли использовать MySQL, или есть выбор?
Основной и самый распространённый вариант — MySQL или MariaDB. В старших редакциях продукта заявлена поддержка PostgreSQL и Oracle, но подавляющее большинство проектов и хостингов работает именно на MySQL/MariaDB, и под эту СУБД проще найти документацию и специалистов.
Что будет с сайтом, если обновить PHP на сервере без проверки?
Если новая версия PHP не поддерживается установленной версией Битрикса, сайт может перестать работать — вплоть до полной недоступности. Перед сменой версии сверьтесь с системными требованиями, обновите платформу до актуальной и сначала проверьте связку на тестовой копии.
Что важно запомнить
1С-Битрикс написан на PHP, работает с MySQL/MariaDB и требует классического веб-стека Linux + Apache/nginx. Дорабатывать его нужно через API ядра D7, не трогая файлы ядра и базу напрямую, а интеграция с учётными системами 1С реализуется штатным обменом CommerceML или REST API.