К статье
Практический материал

Разработка и Конфигурация · 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

Вся бизнес-логика ядра и компонентов написана на PHP

База данныхMySQL / MariaDB

Основной вариант; в старших редакциях доступны PostgreSQL и Oracle

Клиентская частьHTML, CSS, JavaScript

Шаблоны, собственные JS-библиотеки, в новых компонентах — Vue.js

Веб-серверApache или nginx

Рекомендуется связка nginx (статика) + Apache/PHP-FPM (динамика)

Как устроено ядро: старая и новая архитектура

Внутри продукта сосуществуют два поколения кода. Старое ядро (его называют «main» или классическим API) — процедурно-ориентированный код с глобальными функциями и классами вида CIBlockElement, CUser, CSaleOrder. Оно формировалось годами и до сих пор обеспечивает большую часть административного интерфейса и обратную совместимость.

Новое ядро, известное как D7, — объектно-ориентированный слой с пространствами имён Bitrix\Main, Bitrix\Iblock, Bitrix\Sale и ORM с сущностями, таблицами-данными и запросами через getList(). Современные модули и REST-приложения пишутся именно на D7. Разработчику важно понимать обе модели: в реальных проектах они переплетены, и документация по старому API до сих пор актуальна для многих задач.

php
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. 1
    Уточните версию PHP и сравните её с системными требованиями вашей версии Битрикса
  2. 2
    Запустите штатный скрипт проверки сервера от Битрикса или разверните тестовую копию
  3. 3
    Откройте «Монитор производительности» в админке и снимите замер не менее чем за несколько минут нагрузки
  4. 4
    Проверьте ключевые показатели: время отклика БД, файловой системы и наличие OPcache
  5. 5
    При проблемах включите кеширование и memcached, затем повторите замер

Что стек означает для доработки и интеграции с 1С

Для владельца сайта главный вывод — кадровый: дорабатывать Битрикс может любой PHP-разработчик, но качественно — тот, кто знает API ядра. Прямые SQL-запросы к базе и правки файлов ядра — типовая ошибка новичков: такие изменения стираются при обновлениях и ломают целостность данных. Правильный путь — собственные модули, компоненты, обработчики событий и файл init.php.

Интеграция с учётными системами 1С (Управление торговлей, ERP, Комплексная автоматизация) реализована штатным обменом по протоколу CommerceML: 1С выгружает товары и цены на сайт, сайт передаёт заказы обратно. Со стороны сайта этот обмен обслуживают модули Битрикса, со стороны 1С — типовой или доработанный модуль обмена. Если типовой выгрузки не хватает, используют REST API Битрикса или пишут собственные обработчики — и снова всё упирается в PHP и знание D7.

Ограничения и типичные ошибки

PHP как язык накладывает предсказуемые ограничения: каждый запрос обрабатывается отдельным процессом, поэтому производительность сильно зависит от кеширования и качества SQL-запросов. Тяжёлые каталоги с сотнями тысяч товаров требуют настройки фасетных индексов, композитного кеша и иногда выноса поиска во внешние движки. Это не дефект платформы, а особенность стека, которую нужно учитывать при проектировании.

Типичные ошибки
01
Правка ядра вместо собственного модуля — изменения теряются при первом же обновлении платформы
02
Прямые SQL-запросы в обход ORM — нарушается кеширование и целостность связанных данных
03
Отключённый OPcache и кеш на боевом сервере — сайт работает в разы медленнее возможного
04
Игнорирование требований к версии PHP — после обновления Битрикса сайт перестаёт запускаться
05
Обновление платформы без резервной копии и тестовой площадки — риск простоя боевого сайта

Альтернативы и когда Битрикс оправдан

Если смотреть шире, Битрикс конкурирует с бесплатными CMS вроде WordPress (тоже PHP) и с фреймворковой разработкой на Laravel или Symfony. Решающий аргумент за Битрикс — готовая экосистема для e-commerce в связке с 1С: каталог, заказы, оплаты, доставки и штатный обмен с учётной системой из коробки. Если интеграция с 1С не нужна, а контент простой, более лёгкие CMS могут оказаться дешевле в поддержке.

Сравнение вариантов

1С-Битрикс (PHP + MySQL)

Подходит для магазинов и порталов с обменом данными с 1С; ограничение — стоимость лицензии и требования к хостингу

WordPress + плагины (PHP)

Дешевле на старте, гибок для контентных сайтов; обмен с 1С придётся собирать из сторонних решений

Разработка на фреймворке (Laravel/Symfony)

Максимальная гибкость и чистая архитектура; всё, включая админку и интеграции, нужно писать с нуля

Частые вопросы

Можно ли посмотреть и изменить исходный код 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.