Sign inSign up

msav/bitrix-php-apache

By msav

•Updated 3 months ago

PHP-Apache образы (PHP 8.1/8.2) для 1C-Битрикс CMS и Битрикс24

Image
Web servers
Content management system
0

4.4K

msav/bitrix-php-apache repository overview

⁠PHP-Apache для 1C-Битрикс

Docker-образы PHP с Apache, оптимизированные для разработки и production-развёртывания 1C-Битрикс CMS и Битрикс24.

⁠Поддерживаемые теги

ТегPHPБазовый образНазначение
8.18.1php:8.1-apache-bookwormПроекты 2020-2023, рекомендуемая версия
8.28.2php:8.2-apache-bookwormПроекты 2023+, современный стек

Теги 8.1 и 8.2 поддерживаются в полном паритете (одинаковый набор расширений и конфигураций).

⁠Архивные версии (7.4 / 7.2)

Образы PHP 7.4 и 7.2 перемещены в архив (bitrix-env/images/archive/), не поддерживаются и не обновляются; PHP 7.2 достиг EOL. Для новых проектов используйте 8.1 или 8.2.

⁠Быстрый старт

⁠Docker Run
docker run -d \
  --name bitrix \
  -p 80:80 \
  -v $(pwd)/www:/var/www/html \
  -e MEMORY_LIMIT=1024M \
  -e PHP_INI_TYPE=development \
  msav/bitrix-php-apache:8.1
⁠Docker Compose
services:
  php:
    image: msav/bitrix-php-apache:8.1
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./www:/var/www/html
      - ./session:/var/www/session
    environment:
      MEMORY_LIMIT: "1024M"
      PHP_INI_TYPE: "development"
      USER_ID: "1000"
      GROUP_ID: "1000"

⁠Переменные окружения

⁠PHP
ПеременнаяУмолчаниеОписание
MEMORY_LIMIT2048MЛимит памяти PHP
PHP_INI_TYPEdevelopmentРежим: development или production
PHP_EX_OPCACHE_ENABLED1Включение OPcache
MBSTRING_FUNC_OVERLOAD0Перегрузка mbstring (для legacy)
BX_TIMEZONEEurope/MoscowЧасовой пояс
⁠Пользователь
ПеременнаяУмолчаниеОписание
USER_ID1000UID пользователя www-data
GROUP_ID1000GID группы www-data
⁠Сайт и прокси
ПеременнаяУмолчаниеОписание
SITE_DOMAINmydomain.ruДомен сайта
SITE_IP127.0.0.1IP для записи домена в /etc/hosts
PROXY_IPS127.0.0.1 127.0.0.2Доверенные IP reverse proxy
ENABLE_SSL0Включение HTTPS
⁠SMTP
ПеременнаяУмолчаниеОписание
SMTP_HOSTmailpitХост SMTP-сервера
SMTP_PORT1025Порт SMTP
SMTP_EMAILnoreply@localhostEmail отправителя
SMTP_AUTHoffАутентификация SMTP
SMTP_TLSoffTLS
SMTP_TLS_STARTTLSoffSTARTTLS
⁠Права и отладка
ПеременнаяУмолчаниеОписание
CHOWN_MODEsmartРежим установки прав: skip, sync, async, smart
XDEBUG_ENABLED0Активация Xdebug в runtime
XHPROF_ENABLED0Активация XHProf в runtime
XDEBUG_MODEoffРежим Xdebug: off, debug, profile, trace

⁠PHP расширения

⁠Встроенные

bz2, calendar, exif, ftp, gd (WebP, JPEG, PNG, XPM, FreeType, AVIF), gettext, imap, intl, ldap, mysqli, opcache, pdo_mysql, pspell, shmop, sockets, sodium, sysvmsg, sysvsem, sysvshm, xsl, zip

⁠PECL

amqp, apcu, igbinary, imagick, lz4, lzf, mcrypt, memcache, memcached, msgpack, rdkafka, redis (с igbinary, lz4, lzf, msgpack, zstd), rrd, ssh2 (1.5.0), xlswriter, zstd

⁠Особенности

⁠Multi-stage сборка

Образ использует двухэтапную сборку: компиляция расширений с dev-пакетами, затем только runtime-библиотеки. Уменьшение размера на 40-50%.

⁠Российские сертификаты

Включены сертификаты Минцифры РФ (Russian Trusted Root CA, Russian Trusted Sub CA) для работы с российскими сервисами.

⁠Автоустановка Битрикс

При первом запуске с пустым /var/www/html автоматически загружается bitrixsetup.php.

⁠Health Check

Файл /var/www/html/health.php возвращает HTTP 200 для проверки состояния контейнера.

⁠Xdebug и XHProf

Xdebug 3.5.1 и XHProf 2.3.10 скомпилированы в образ, но по умолчанию выключены (нулевой overhead в production). Активация в runtime: XDEBUG_ENABLED=1 (режим через XDEBUG_MODE) и XHPROF_ENABLED=1.

⁠Индексация документов

Включены CLI-инструменты для полнотекстовой индексации и search.title Битрикс: catdoc (DOC), poppler-utils/pdftotext (PDF), aspell (орфография), msmtp (SMTP-клиент).

⁠OPcache JIT отключён

JIT-компиляция отключена намеренно (opcache.jit=disable): команда 1С-Битрикс официально не использует JIT и не гарантирует стабильность продукта с ним. Включать только осознанно.

⁠Development vs Production

ПараметрDevelopmentProduction
display_errorsOnOff
error_reportingE_ALLE_ALL без NOTICE, WARNING
realpath_cache_ttl600 сек3600 сек
opcache.validate_timestamps11
opcache.revalidate_freq02
opcache.memory_consumption128 МБ512 МБ
opcache.interned_strings_buffer16 МБ64 МБ
opcache.max_accelerated_files20000100000

В обоих режимах opcache.validate_timestamps=1 (Битрикс динамически перезаписывает PHP-файлы). Различие — в revalidate_freq: в development файлы проверяются на каждом запросе (0), в production — не чаще раза в 2 секунды (2).

⁠Тома

ПутьНазначение
/var/www/htmlDocumentRoot Apache
/var/www/sessionДиректория сессий PHP

⁠Порты

ПортПротокол
80HTTP
443HTTPS (при ENABLE_SSL=1)

⁠Решение проблем

СимптомРешение
Allowed memory size exhaustedУвеличить MEMORY_LIMIT
OPcache не сразу видит измененияИспользовать PHP_INI_TYPE=development (revalidate_freq=0)
Ошибки mbstring в legacyУстановить MBSTRING_FUNC_OVERLOAD=2
Permission deniedНастроить USER_ID и GROUP_ID
Почта не отправляетсяПроверить SMTP_* переменные

⁠Ссылки

Tag summary

Content type

Image

Digest

sha256:fabf76841…

Size

210.9 MB

Last updated

3 months ago

docker pull msav/bitrix-php-apache