Отладка Magento посредством Xdebug и IntelliJ IDEA

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

22.04.2011 11:15

Отладка Magento посредством Xdebug и IntelliJ IDEA


  • Установите Xdebug

  • Обязательные настройки XDebug:
    xdebug.remote_enable = 1
    xdebug.extended_info= 1
    


  • Сообщите IntelliJ IDEA о вашем сайте
    «File» → «Settings» → «Project Settings» → «PHP» → «Servers»
    Прикрепленное изображение: xdebug-intellij-idea-2.png

  • Сообщите IntelliJ IDEA о ваших настройках отладчика
    «File» → «Settings» → «Project Settings» → «PHP» → «Debug»
    Прикрепленное изображение: xdebug-intellij-idea-setup-1.png


  • Составьте в IntelliJ IDEA сценарий отладки
    «Run» → «Editconfigurations» → «+» → «PHP Web Application»
    Прикрепленное изображение: xdebug-intellih-idea-3.png

  • Расставьте в программном коде Magento точки отладки
    Прикрепленное изображение: xdebug-intellih-idea-4.png

  • Запустите отладчик
    Прикрепленное изображение: xdebug-intellij-idea-5.png


#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

03.08.2015 14:12

Обратите внимание, что для работоспособности точек остановка (breakpoints) обязательно должна быть включена опция xdebug.extended_info.
По умолчанию она и так включена, но её имеет смысл отключать в некоторых других сценариях использования Xdebug: например, при анализе производительности.

Если опция xdebug.extended_info отключена, то в отладочном журнале Xdebug будет диагностическое сообщение с фразами "breakpoint_set" и "command is not available".

Включить диагностический журал Xdebug можно опцией xdebug.remote_log.

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

03.08.2015 14:23

В то же время опция xdebug.profiler_enable, которую советуют в официальной документации к IntelliJ IDEA и PhpStorm, для пошаговой отладки посредством точек останова не нужна и более того, будет лишь напрасно потреблять системные ресурсы, тормозить работу интерпретатора PHP.
Эта опция нужна для анализа производительности посредством профилирования.
В итоге, оптимальные настройки Xdebug различаются для разных сценариев использования Xdebug. Настройки по умолчанию работают везде, но потребляют излишние системные ресурсы.

Поделиться темой: