Локальное окружение: BitrixVM, Docker, OpenServer
Для локальной разработки рекомендуются Docker-контейнеры или виртуальная машина BitrixVM, воспроизводящие конфигурацию боевого Linux-сервера. Это исключает расхождения в правах доступа системных пользователей, регистрозависимости путей и поведении символических ссылок для многосайтовости.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
Bitrix VM (виртуальная машина)
-
2
Docker-образы
-
3
Ручная установка на LAMP/LEMP
-
4
Установка на Windows (OpenServer, XAMPP)
Материалы
Официальная документация
-
Установка окружения: раздел «Docker-образы» Новая дока
-
Отладка кода с помощью Xdebug Новая дока
Материалы BXMax
Рекомендуем со стороны
-
Bitrix in Docker: популярное Docker-окружение Репозиторий
Проверь себя
В Docker-окружении файлы, созданные через IDE, сайт не может изменить, а загруженные через админку не видны IDE. Где причина?
В пользователе: внутри контейнера php работает от bitrix, а файлы с хоста приходят с другим владельцем. Команды в контейнере выполняют через docker compose exec --user=bitrix, а права на папку сайта синхронизируют с хостом.
Чем BitrixVM ближе к проду, чем OpenServer, и когда это важно?
BitrixVM — тот же Linux, nginx, php-fpm, права и пользователь bitrix, что и на боевом BitrixEnv. На Windows-сборке иначе ведут себя права, регистр имён файлов и символические ссылки, нужные для многосайтовости на разных доменах. Важно с первого проекта с несколькими сайтами.
Заказчик прислал бэкап и просит «поднять локально». Почему на чужом окружении это может не завестись сразу?
В .settings.php и dbconn.php зашиты хост, база и пароль прода, а в настройках сайта — доменное имя. После разворачивания нужно поправить подключение и домен, иначе ядро либо не соединится, либо будет редиректить на прод.
Точка останова в компоненте не срабатывает, хотя Xdebug настроен. Что проверить до настроек IDE?
Кеш: страница отдаётся из композитного или компонентного кеша, PHP компонента не выполняется. Отключить композит, сбросить кеш или поставить CACHE_TIME в ноль на время отладки.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить