From e366d15227f11809789e31d2e1c96ecd6277abaf Mon Sep 17 00:00:00 2001 From: Viktor Krasnov Date: Tue, 23 Mar 2021 00:44:41 +0300 Subject: [PATCH] xdebug enabled --- README.md | 22 +++++++++++++++------- bitrix_entrypoint.sh | 22 +++++++++++----------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 1774507..13dda2f 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,11 @@ # Для MacOS: sudo apachectl stop ``` +1. Настраиваем файл окружения. + ```bash + cp .env.dist .env + ``` + Далее редактируем файл .env, указываем там IP-адрес хост-машины в локальной сети, обычно начинается на 192 или 10, найти адрес можно или в настройках сетевой карты в интерфейсе настройки сети в ОС, или выполнив команду `ifconfig | grep 192` или `ifconfig | grep 10`. 1. Запускаем контейнер: ```bash docker-compose up -d @@ -32,8 +37,7 @@ ```bash docker-compose exec webslon-bitrix-env bash --login ``` - Произойдет запуск установки Bitrix Environment. Процесс может занимать от 10 до 20 минут. - Повторный запуск этой же команды приведет к залогиниванию в контейнер и запуску меню Bitrix Environment (повторной установки не произойдет). + Произойдет запуск установки Bitrix Environment. Процесс может занимать от 10 до 20 минут. Повторный запуск этой же команды приведет к залогиниванию в контейнер и запуску меню Bitrix Environment (повторной установки не произойдет). # Полезное @@ -49,11 +53,15 @@ ## Подключение x-debug -1. В файле /etc/php.d/15-xdebug.ini в строке xdebug.remote_host меняем на локальный ip адрес. -1. В контейнере нужно перезапустить апач: - ```bash - service httpd restart - ``` +1. Убедиться, что в контейнере в файле /etc/php.d/15-xdebug.ini в строке xdebug.remote_host указан IP-адрес локальной сети хост-машины (вашего компьютера). Например, адрес WiFi или LAN в настройках сети. Этот же адрес если правильно настроили файл .env должен выводиться командой в контейнере: + ```bash + echo ${DOCKER_HOST_IP} + ``` +1. В настройках PhpStorm + 1. **Preferences | Languages & Frameworks | PHP**: указываем CLI Interpreter PHP 7. + 1. **Preferences | Languages & Frameworks | PHP | Debug**: в секции XDebug указываем XDebug port = **9001** и ставим все галочки. + 1. **Preferences | Languages & Frameworks | PHP | Debug | DBGp Proxy**: IDE Key: **PHPSTORM**, Host: **Ваш IP-адрес локальной сети хост-машины**, Port: **9001**. + 1. **Preferences | Languages & Frameworks | PHP | Servers**: добавляем сервер, Host указываем Ваш IP-адрес локальной сети хост-машины, ставим галочку Use path mappings и настраиваем пути. # Источники 1. [Денис Бондарь. PhpStorm + Docker + Xdebug](https://blog.denisbondar.com/post/phpstorm_docker_xdebug) diff --git a/bitrix_entrypoint.sh b/bitrix_entrypoint.sh index 4c26ac2..4e98782 100644 --- a/bitrix_entrypoint.sh +++ b/bitrix_entrypoint.sh @@ -32,19 +32,19 @@ if [[ ! -f "/opt/webdir/bin/bitrix_utils.sh" ]]; then fi # configure XDebug +echo "zend_extension=xdebug.so" >/etc/php.d/15-xdebug.ini +echo "xdebug.remote_autostart=1" >>/etc/php.d/15-xdebug.ini +echo "xdebug.remote_enable=1" >>/etc/php.d/15-xdebug.ini +echo "xdebug.remote_connect_back=0" >>/etc/php.d/15-xdebug.ini +echo "xdebug.idekey=PHPSTORM" >>/etc/php.d/15-xdebug.ini +echo "xdebug.remote_host= ${DOCKER_HOST_IP} " >>/etc/php.d/15-xdebug.ini +echo "xdebug.remote_port=9001" >>/etc/php.d/15-xdebug.ini +echo "xdebug.remote_log=\"/var/log/xdebug.log\"" >>/etc/php.d/15-xdebug.ini if [[ -e /etc/php.d/15-xdebug.ini.disabled ]]; then - echo "zend_extension=xdebug.so" >/etc/php.d/15-xdebug.ini - echo "xdebug.remote_autostart=1" >>/etc/php.d/15-xdebug.ini - echo "xdebug.remote_enable=1" >>/etc/php.d/15-xdebug.ini - echo "xdebug.remote_connect_back=0" >>/etc/php.d/15-xdebug.ini - echo "xdebug.idekey=PHPSTORM" >>/etc/php.d/15-xdebug.ini - echo "xdebug.remote_host=\${DOCKER_HOST_IP}" >>/etc/php.d/15-xdebug.ini - echo "xdebug.remote_port=9001" >>/etc/php.d/15-xdebug.ini - echo "xdebug.remote_log=\"/var/log/xdebug.log\"" >>/etc/php.d/15-xdebug.ini - rm /etc/php.d/15-xdebug.ini.disabled - echo "XDebug enabled" - service httpd restart + rm /etc/php.d/15-xdebug.ini.disabled fi +echo "XDebug enabled" +service httpd restart # configure ru_RU.UTF-8 locale if [[ -z $(localectl status | grep ru) ]]; then