Связка Xdebug в PhpStorm с Openserver

» »


Настройка Xdebug в PhpStorm при работе с OpenServer

1. Для используемых версий PHP открываем php.ini (например в меню OpenServer Дополнительно->Конфигурация->PHP-7.2-x64и редактируем настройки:
zend_extension = \%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll\r
xdebug.remote_enable = 1
xdebug.remote_autostart = 0
xdebug.remote_port = 9000
xdebug.remote_connect_back = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = \%sprogdir%/userdata/temp/xdebug/\r
xdebug.profiler_output_name = cachegrind.out.%H%R\r
xdebug.idekey = \
чтобы получилось примерно так:
[Xdebug]
zend_extension=\%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll
;xdebug.default_enable = 1
xdebug.auto_trace = 0
xdebug.collect_includes = 1
;xdebug.collect_params = 4
;xdebug.collect_return = 1
;xdebug.collect_assignments = 1
;xdebug.collect_vars = 1
xdebug.dump.REQUEST = *
xdebug.dump.SESSION = *
xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.COOKIE =
;xdebug.dump.FILES =
;xdebug.dump.GET =
;xdebug.dump.POST =
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 1
xdebug.extended_info = 1
;xdebug.file_link_format = \
xdebug.idekey = \
;xdebug.manual_url = http://www.php.net
xdebug.max_nesting_level = 256
xdebug.overload_var_dump = 1
;xdebug.profiler_append = 1
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir=\%sprogdir%/userdata/temp/xdebug/
xdebug.profiler_output_name = cachegrind.out.%H%R
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
;xdebug.remote_handler = dbgp
;xdebug.remote_host = localhost
;xdebug.remote_log = none
;xdebug.remote_mode = eq
xdebug.remote_port = 9000
xdebug.remote_connect_back = 1
;xdebug.scream = 1
;xdebug.show_exception_trace = 0
;xdebug.show_local_vars = 1
;xdebug.show_mem_delta = 1
;xdebug.trace_format = 1
;xdebug.trace_options = 1
xdebug.trace_output_dir = \%sprogdir%/userdata/temp/xdebug/
;xdebug.trace_output_name = race.%H%R
xdebug.var_display_max_children = 256
;xdebug.var_display_max_data = 1024
xdebug.var_display_max_depth = 16
;xdebug.remote_cookie_expire_time = 3600
2. Перезапускаем OpenServer.

Настройка PhpStorm

  1. Убеждаемся, что в Settings  Languages & Frameworks  PHP  Debug для Xdebug прописан порт 9000 и включена опция Can accept external connections:

  2. С помощью меню Run  Web Server Debug Validation проверяем настройку отладчика (введите данные отлаживаемого сайта)

Настройка браузера

Для старта отладки из браузера я использую Chrome расширение Xdebug helper, для других браузеров должно быть что-то похожее.

Процесс отладки

  1. В PhpStorm включаем прослушку порта отладчика:

  2. В нужном месте ставим брикпойнт:

  3. В браузере открываем сайт и стартуем отладочную сессию:

    \\\\\\\

  4. Перезагружаем страницу.
  5. При первом старте отладчика, PhpStorm предложит принять входящее соединение, жмём Accept:

  6. И попадаем в отладочный режим:

P.S: Если вам нужно запускать отладку простых php-скриптов прямо из PhpStorm, то нужно в Settings  Languages & Frameworks  PHP добавить список используемых версий PHP и выбрать текущую версию интерпретатора (опция Interpreter).


Источник

Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.