zend_extension = "%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll" 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/" xdebug.profiler_output_name = "cachegrind.out.%H%R" xdebug.idekey = ""чтобы получилось примерно так:
[Xdebug]2. Перезапускаем OpenServer.
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
Убеждаемся, что в Settings → Languages & Frameworks → PHP → Debug для Xdebug прописан порт 9000 и включена опция Can accept external connections:
Для старта отладки из браузера я использую Chrome расширение Xdebug helper, для других браузеров должно быть что-то похожее.
В PhpStorm включаем прослушку порта отладчика:
В нужном месте ставим брейкпойнт:
В браузере открываем сайт и стартуем отладочную сессию:
При первом старте отладчика, PhpStorm предложит принять входящее соединение, жмём Accept:
И попадаем в отладочный режим:
P.S: Если вам нужно запускать отладку простых php-скриптов прямо из PhpStorm, то нужно в Settings → Languages & Frameworks → PHP добавить список используемых версий PHP и выбрать текущую версию интерпретатора (опция Interpreter).
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.