Сборка, сделанная для моих нужд на основе bitrixdock. Вся основная документация тут: https://github.com/bitrixdock/bitrixdock
Для корректной работы под windows - клонируем проект внутрь файловой системы WSL -> запускаем docker compose up -d внутри WSL -> пользуемся
Привязки контейнеров к портам
- Nginx\Apache: 80
- Mailpit: 8025
- PHPMyAdmin: 8080 (закомментирован в docker-compose. Раскомментировать при надобности)
- MySQL: 3306
- Cron: 80 (закомментирован в docker-compose. Раскомментировать при надобности)
- Xhprof Viewer: 8888 (по умолчанию. Если не нужен рекомендуется убрать его сборку, потому что она долгая)
Как пользоваться xhprof:
- Взять класс который лежит в корне репозитория
- Начать трейс методом start
- Закончить трейс методом stop
- Зайти в xhprof viewer
- Радоваться
Маппинг xdebug
- Абсолютный путь до корня сайта на сервере /var/www/bitrix/
- Путь до проекта на моем примере \wsl$\Ubuntu\home\UserName\PhpstormProjects\YourProject\www
Путь куда профилировщик по умолчанию складывает свои файлы
- В контейнере /var/log/php/
- В проекте /logs/php/
Включение профилировщика
- Для включения профилировщика зайти в папку с php. Открыть php.ini -> в xdebug.mode добавить profile -> раскомментировать строки xdebug.output_diк \ xdebug.start_upon_error \ xdebug.start_with_request
Настройка cron
- Для указания версии PHP на которой работает cron - указать версию пакета согласно репозиторию php в переменной CRON_PHP_VERSION (см. пример в .env.example)