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

Администрирование · 12 мин

Какие расширения PHP требуются для корректной работы 1С-Битрикс

Какие расширения PHP нужны для корректной работы 1С-Битрикс: обязательный минимум, рекомендуемые модули, проверка и устранение типичных ошибок установки.

1С-Битрикс «Управление сайтом» и «Корпоративный портал» работают на PHP, и корректность их работы напрямую зависит от набора подключённых расширений интерпретатора. Если хотя бы один обязательный модуль отсутствует, установщик откажется продолжать развёртывание, а уже работающий сайт начнёт выдавать ошибки — от белого экрана до невозможности загрузить файлы или отправить почту.

Точный перечень зависит от редакции продукта и версии PHP, но ядро требований стабильно: расширения для работы с базой данных, обработки изображений, многобайтовых строк, архивов и сетевых запросов. Дополнительно Битрикс предъявляет требования к настройкам самого PHP — версии, лимитам памяти, параметрам загрузки файлов.

Ниже разобран обязательный минимум, рекомендуемые модули, способы проверки окружения до и после установки, а также типичные ошибки, с которыми сталкиваются при подготовке сервера.

Обязательный минимум: без каких расширений Битрикс не запустится

Базовый набор модулей, без которых установка и штатная работа продукта невозможны, включает расширения для доступа к базе данных, обработки строк и изображений, работы с архивами и сетью. Их отсутствие приводит к остановке установщика либо к критическим ошибкам в работе модулей.

РасширениеДля чего нужноЧто будет без него
mysqli / mysqlndПодключение к MySQL/MariaDBСайт не подключается к БД, установка невозможна
mbstringРабота с многобайтовыми строками (UTF-8)Ошибки обработки текста, установщик останавливается
gdГенерация и ресайз изображений, CAPTCHAНе работают превью, капча, водяные знаки
zlibСжатие данных, распаковка обновленийНе ставятся обновления и решения из Marketplace
jsonОбработка JSON в ядре и RESTОшибки API, интеграций, настроек модулей
curlHTTP-запросы к внешним сервисамНе работают обновления, интеграции, платёжные шлюзы
dom, xml, simplexmlРазбор XML (импорт, выгрузки, RSS)Не работают импорт каталогов, CommerceML-обмены
opensslHTTPS-соединения, шифрованиеОшибки защищённых соединений и лицензионных запросов
zipСоздание и распаковка ZIP-архивовНе работают резервное копирование и установка решений
pcre, session, hash, tokenizerБазовые механизмы ядраЯдро не запускается либо работает с ошибками

Часть этих расширений (например, json, pcre, session, hash) в современных сборках PHP включена по умолчанию или встроена в ядро интерпретатора. Однако в минимальных пакетах некоторых дистрибутивов Linux даже они поставляются отдельно — проверять наличие нужно каждого модуля, а не предполагать, что он есть.

Рекомендуемые расширения: производительность и дополнительные функции

Необязательные модули не блокируют установку, но заметно влияют на скорость работы и доступность отдельных возможностей. На рабочем проекте их отсутствие проявляется как медленная генерация страниц или отказ конкретных функций.

  • opcache — кеширует скомпилированный байт-код PHP; без него каждая страница компилируется заново, нагрузка на процессор растёт в разы.
  • apcu — пользовательское кеширование; используется Битриксом как один из вариантов хранения кеша.
  • memcached или redis — внешние хранилища кеша и сессий, актуальны для нагруженных проектов.
  • intl — интернационализация; нужна для корректной транслитерации и работы с локалями.
  • imagick — альтернатива GD с более качественной обработкой изображений.
  • exif — чтение метаданных изображений; используется медиабиблиотекой и фотогалереями.
  • fileinfo — определение MIME-типов загружаемых файлов; влияет на безопасность загрузок.
  • ldap — интеграция с Active Directory; нужна только корпоративным порталам с доменной авторизацией.
  • soap — обмены по SOAP, в том числе некоторые сценарии интеграции с 1С.
  • sockets, imap — работа встроенного почтового клиента и CRM-почты.

Практическое правило: ставьте обязательный минимум плюс opcache, intl, exif и fileinfo всегда, а ldap, soap, imap — только если соответствующие функции реально используются. Лишние модули не ускоряют сайт, но расширяют поверхность для обновлений и потенциальных уязвимостей.

GD или Imagick для обработки изображений

GD

Обязательный минимум, есть везде. Достаточен для превью и водяных знаков, но хуже работает с цветовыми профилями и большими файлами.

Imagick

Качественнее ресайз и поддержка форматов, но требует установки библиотеки ImageMagick на сервер и больше памяти на обработку.

Как проверить окружение до установки

Самый быстрый способ увидеть список подключённых модулей — выполнить в консоли сервера команду php -m. Она выведет все загруженные расширения для CLI-режима. Важно помнить: конфигурация PHP для командной строки и для веб-сервера (Apache/Nginx + PHP-FPM) может отличаться, поэтому проверять нужно именно веб-окружение.

Для проверки веб-окружения создайте в корне сайта файл с вызовом phpinfo() и откройте его в браузере. В выводе будут видны все модули, версия PHP и ключевые директивы. После проверки файл обязательно удалите — он раскрывает внутреннее устройство сервера.

bash
php -m | grep -iE 'mysqli|mbstring|gd|curl|zip|xml|openssl|opcache|intl|imagick'

Более полную картину даёт официальный тестовый скрипт bitrix_server_test.php от разработчика. Он проверяет не только наличие расширений, но и версию PHP, настройки php.ini, права на файлы, доступность базы данных и выдаёт итоговое заключение о пригодности сервера.

Проверка сервера перед установкой
  1. 1
    Установите PHP нужной версии и обязательные модули пакетным менеджером вашей ОС
  2. 2
    Разместите в корне сайта скрипт bitrix_server_test.php и откройте его в браузере
  3. 3
    Исправьте все пункты, отмеченные как критические несоответствия
  4. 4
    Проверьте директивы php.ini: memory_limit, upload_max_filesize, post_max_size, max_execution_time
  5. 5
    Удалите тестовые скрипты после завершения проверки

Настройки php.ini, без которых расширения не спасут

Даже при полном наборе модулей Битрикс не будет нормально работать при неверных директивах PHP. Установщик и монитор производительности проверяют эти параметры и выдают предупреждения.

  • memory_limit — рекомендуется от 256 МБ; на проектах с обменами и резервным копированием может потребоваться больше.
  • upload_max_filesize и post_max_size — ограничивают загрузку файлов; при маленьких значениях не загружаются обновления и большие файлы в админке.
  • max_execution_time — при слишком низком значении обрываются длинные операции: обмен с 1С, переиндексация поиска, резервное копирование.
  • mbstring.func_overload — должна быть отключена (значение 0); включённая перегрузка ломает работу ядра.
  • date.timezone — должна быть явно задана, иначе возможны ошибки в расписании агентов и логах.
  • opcache.enable — включённый OPcache заметно ускоряет административный раздел и публичную часть.

Директивы меняются в php.ini соответствующего SAPI (для PHP-FPM — отдельный файл, для Apache с mod_php — свой). После правок требуется перезапуск PHP-FPM или веб-сервера, иначе изменения не применятся.

Проверка уже работающего сайта

На действующем проекте состояние окружения проверяется штатными средствами: в административном разделе откройте «Настройки → Инструменты → Проверка системы». Отчёт покажет обязательные и рекомендуемые параметры, отметит нарушения красным и подскажет, что именно исправить.

Дополнительно полезен «Монитор производительности» («Настройки → Производительность → Панель производительности»): он выявляет проблемы конфигурации PHP, кеширования и базы данных под реальной нагрузкой, а не только формальное наличие модулей.

Контрольные точки

Как проверить результат настройки

Проверка системы в админке
Норма

Все обязательные пункты зелёные, критических замечаний нет

Тревожный признак

Красные пункты по расширениям, memory_limit или mbstring

Загрузка файлов и обновлений
Норма

Обновления платформы и решения Marketplace скачиваются и ставятся

Тревожный признак

Ошибки распаковки, таймауты, обрывы соединения

Работа с изображениями
Норма

Превью создаются, капча отображается

Тревожный признак

Пустые картинки вместо превью, не показывается капча

Обмен с 1С
Норма

Выгрузка каталога проходит без ошибок XML

Тревожный признак

Ошибки разбора XML, пустые ответы при обмене

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

Наиболее частая проблема — разные конфигурации PHP для CLI и веба: агенты на cron запускаются из командной строки, и если в CLI-сборке нет нужного модуля, фоновые задачи падают, хотя сайт в браузере работает. Проверяйте оба окружения.

Вторая группа ошибок связана с виртуальным хостингом: там часть директив (memory_limit, max_execution_time) ограничена тарифом, а расширения вроде imagick или redis недоступны вовсе. Если проекту нужны специфические модули и высокие лимиты, потребуется VPS или выделенный сервер.

Типичные ошибки при подготовке окружения
01
Проверка модулей только через php -m: CLI-конфигурация не гарантирует наличие модулей в веб-окружении, проверяйте через phpinfo() в браузере
02
Включённая mbstring.func_overload: устаревшая директива ломает строковые функции ядра, значение должно быть 0
03
Установка слишком новой версии PHP без проверки совместимости: ядро может не поддерживать её, сайт перестанет работать
04
Отсутствие OPcache или его отключение: страницы компилируются при каждом запросе, нагрузка на сервер растёт в разы
05
Забытый phpinfo.php в корне сайта после диагностики: файл раскрывает конфигурацию сервера любому посетителю

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

Какая версия PHP нужна для 1С-Битрикс?

Требования зависят от версии продукта: свежие версии ядра работают на актуальных ветках PHP и не поддерживают старые. Перед установкой или обновлением сверьтесь с системными требованиями вашей редакции в документации — универсального номера версии для всех выпусков нет.

Сайт показывает белый экран после смены версии PHP — что делать?

Включите отображение ошибок в настройках PHP или посмотрите лог ошибок веб-сервера. Чаще всего причина — отсутствующее расширение (например, mysqli или mbstring) в новой сборке PHP либо несовместимость версии с ядром. Верните прежнюю версию PHP, установите недостающие модули и повторите переход на тестовой копии.

Обязательно ли ставить Imagick, если есть GD?

Нет. GD полностью закрывает обязательные потребности — превью, капчу, водяные знаки. Imagick имеет смысл добавлять, когда важно качество обработки фотографий, поддержка расширенного набора форматов или работа с цветовыми профилями.

Почему обмен с 1С не работает, хотя все расширения установлены?

Проверьте лимиты max_execution_time, memory_limit, post_max_size и upload_max_filesize — большие выгрузки упираются именно в них. Также убедитесь, что доступны xml/dom и zip, а веб-сервер (Nginx/Apache) не обрывает длинные запросы своими таймаутами.

Можно ли запустить Битрикс на виртуальном хостинге?

Да, если тариф предоставляет обязательные расширения, достаточный memory_limit и возможность менять базовые директивы PHP. Перед покупкой проверьте хостинг скриптом bitrix_server_test.php — многие провайдеры дают тестовый период. Для проектов с интеграциями, Redis или LDAP обычно нужен VPS.

Как проверить, что агенты и cron работают корректно?

Убедитесь, что CLI-версия PHP имеет тот же набор модулей, что и веб (сравните вывод php -m с phpinfo). Затем в админке откройте список агентов и проверьте даты последнего выполнения — просроченные агенты при настроенном cron указывают на проблему в CLI-окружении.

Итог

Что важно запомнить

Обязательный минимум для Битрикс: mysqli, mbstring, gd, zlib, json, curl, xml/dom, openssl, zip и базовые модули ядра; для производительности добавьте opcache, intl, exif и fileinfo. Проверяйте окружение скриптом bitrix_server_test.php до установки и «Проверкой системы» после, следите за memory_limit, лимитами загрузки и отключённой mbstring.func_overload. Любую смену версии PHP сначала отрабатывайте на тестовой копии с резервной копией.