Битрикс капризен к окружению, и это не прихоть, а условие стабильной работы. Собрали актуальные требования к PHP, MySQL и настройкам сервера, чтобы site_checker сразу светился зелёным, а монитор производительности не ронял баллы.
Версии PHP и СУБД
Актуальные ветки продукта требуют PHP 8.1 и выше (поддерживаются 8.1–8.3), а старые проекты нередко ещё держатся на 7.4 — но это уже зона риска по безопасности. База данных — MySQL 8.0 или совместимая MariaDB 10.x. Веб-сервер — Apache 2.4 (обычно за nginx-фронтендом) либо связка nginx + PHP-FPM.
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| PHP | 8.1 | 8.2 / 8.3 |
| MySQL | 8.0 | 8.0 с InnoDB |
| Apache | 2.4 | 2.4 + nginx фронт |
| Кодировка БД | utf8 / utf8mb4 | utf8mb4 |
default_storage_engine = InnoDB.Обязательные расширения PHP
Без набора расширений мастер установки просто не пройдёт проверку. Убедитесь, что подключены:
mysqli— работа с MySQL (устаревший mysql не поддерживается);mbstring— многобайтовые строки, критично для кириллицы;gdилиimagick— обработка изображений и превью;json,curl,openssl,zip,xml,zlib;opcache— кеш байткода, без него производительность падает в разы;intl— интернационализация и корректная сортировка.
Проверить список можно командой php -m или на странице /bitrix/admin/php_settings.php в админке.
Настройки php.ini
Директивы PHP влияют и на установку, и на работу больших импортов каталога. Рекомендуемые значения:
| Директива | Значение |
|---|---|
memory_limit | 256M (импорт — 512M и выше) |
max_execution_time | 60 |
max_input_vars | 10000 |
upload_max_filesize | 1024M |
post_max_size | 1024M |
opcache.revalidate_freq | 0 (dev) / 60 (prod) |
mbstring.func_overload | 0 |
short_open_tag | On |
mbstring.internal_encoding должен соответствовать кодировке сайта (UTF-8). Несоответствие даёт «кракозябры» и битые письма.Настройки MySQL
Дефолтный my.cnf под Битрикс почти всегда мал. Ключевые параметры под нагруженный магазин:
innodb_buffer_pool_size— 60–70% RAM выделенного под БД сервера;innodb_flush_log_at_trx_commit = 2— компромисс скорости и надёжности;max_connections— с запасом под пики (200–500);sql_mode— Битрикс требует, чтобы был отключён строгий режимSTRICT_TRANS_TABLESиONLY_FULL_GROUP_BY;character-set-server = utf8mb4иcollation-server = utf8mb4_unicode_ci.
Проверка окружения инструментами Битрикс
Платформа даёт три встроенных инструмента, которыми и нужно валидировать окружение вместо ручных догадок:
- site_checker (
/bitrix/admin/site_checker.php) — проверяет версии, расширения, права, cron, почту, скорость диска и БД; - Монитор производительности — раздел Производительность, выдаёт баллы конфигурации; ниже 30 — окружение недонастроено;
- php_settings.php — сверка каждой директивы php.ini с эталоном продукта.
Если тест ругается на «скорость создания страниц» или «доступ к диску», проблема обычно в отсутствии opcache, слабом диске или неверном innodb_buffer_pool_size.
Cron, почта и системные утилиты
Помимо PHP и БД, порталу нужны системные сервисы:
- cron — для агентов и очередей; без него отложенные задачи копятся на хитах;
- sendmail/postfix — исходящая почта; в проде лучше SMTP через модуль или php.ini;
- catdoc, xpdf — извлечение текста из документов для поиска;
- права на запись в
/bitrix/cache,/bitrix/managed_cache,/upload,/bitrix/tmp.
Итог
Требования Битрикс к веб-окружению предметны: PHP 8.1+ с полным набором расширений и opcache, MySQL 8.0 на InnoDB с корректным sql_mode, разумные лимиты php.ini и работающий cron. Проверяются они не на словах, а тремя штатными инструментами — site_checker, php_settings и монитором производительности.
Собрать окружение, которое стабильно держит каталог и обмен с 1С, — задача, где мелочь вроде sql_mode стоит суток простоя. Мы в B2Bsite настраиваем и аудируем веб-окружение под 1С-Битрикс, приводим конфигурацию к рекомендациям вендора и берём инфраструктуру на сопровождение, чтобы обновления и рост нагрузки не превращались в аварию.
Частые вопросы
Какая версия PHP нужна для актуального Битрикс?
Актуальные ветки требуют PHP 8.1 и выше, поддерживаются 8.1–8.3. PHP 7.4 ещё встречается на старых проектах, но снят с поддержки и небезопасен.
Можно ли использовать MyISAM для таблиц?
Нет. Битрикс требует InnoDB: MyISAM не поддерживает транзакции и несовместим с модулем кластера. Все таблицы должны быть InnoDB.
Почему после переезда на MySQL 8 белый экран?
Чаще всего дело в sql_mode. Нужно отключить строгие режимы STRICT_TRANS_TABLES и ONLY_FULL_GROUP_BY согласно рекомендациям 1С-Битрикс.
Какие расширения PHP обязательны?
mysqli, mbstring, gd или imagick, json, curl, openssl, zip, xml, zlib, opcache и intl. Без них мастер установки не пройдёт проверку.
Как проверить, что окружение соответствует требованиям?
Запустите site_checker.php, сверьте директивы на php_settings.php и посмотрите баллы в мониторе производительности. Ниже 30 баллов — окружение недонастроено.
Сколько памяти выделять MySQL?
innodb_buffer_pool_size обычно ставят в 60–70% оперативной памяти сервера БД, чтобы горячие данные и индексы помещались в память.
Нужен ли opcache?
Обязательно. Без кеша байткода скорость генерации страниц падает в разы, и монитор производительности заметно проседает по баллам.
Какие каталоги должны быть доступны на запись?
/bitrix/cache, /bitrix/managed_cache, /bitrix/tmp, /upload и служебные каталоги модулей. Без прав на запись сломаются кеш и загрузка файлов.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.