@darkersoul
web - программист

Как правильно настроить XDebug в PHPStorm?

Есть удаленный сервер, на нем настроен XDebug (см. настройки ниже). PHPStorm настроил по этой статье - habrahabr.ru/post/250323
IDEKey не указывал. Объясните, вот есть php.ini на удаленном сервере и есть у меня на компе - в шторме в настройках php указал локальный путь до php. Что прописывать на удаленном сервере а что на локальном в php.ini? Какой remote_host? А так же, у меня интернет через роутер, как правильно пробросить порт? TCP?

Еще вычитал что remote_autostart=1 грузит сервер, это так? Как настроить xdebug на работу только со мной?

Локальный php.ini
[XDebug]
zend_extension = "D:\programs\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "D:\programs\php\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_autostart =0
xdebug.remote_port = 9000
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "te****.ru"
xdebug.trace_output_dir = "D:\programs\php\tmp"
xdebug.output_buffering = 0


Удаленный сервер
xdebug.auto_trace	Off	Off
xdebug.cli_color	0	0
xdebug.collect_assignments	Off	Off
xdebug.collect_includes	On	On
xdebug.collect_params	0	0
xdebug.collect_return	Off	Off
xdebug.collect_vars	Off	Off
xdebug.coverage_enable	On	On
xdebug.default_enable	On	On
xdebug.dump.COOKIE	no value	no value
xdebug.dump.ENV	no value	no value
xdebug.dump.FILES	no value	no value
xdebug.dump.GET	no value	no value
xdebug.dump.POST	no value	no value
xdebug.dump.REQUEST	no value	no value
xdebug.dump.SERVER	no value	no value
xdebug.dump.SESSION	no value	no value
xdebug.dump_globals	On	On
xdebug.dump_once	On	On
xdebug.dump_undefined	Off	Off
xdebug.extended_info	On	On
xdebug.file_link_format	no value	no value
xdebug.force_display_errors	Off	Off
xdebug.force_error_reporting	0	0
xdebug.halt_level	0	0
xdebug.idekey	no value	no value
xdebug.max_nesting_level	256	256
xdebug.max_stack_frames	-1	-1
xdebug.overload_var_dump	On	On
xdebug.profiler_aggregate	Off	Off
xdebug.profiler_append	Off	Off
xdebug.profiler_enable	Off	Off
xdebug.profiler_enable_trigger	Off	Off
xdebug.profiler_enable_trigger_value	no value	no value
xdebug.profiler_output_dir	/tmp	/tmp
xdebug.profiler_output_name	cachegrind.out.%p	cachegrind.out.%p
xdebug.remote_autostart	Off	Off
xdebug.remote_connect_back	Off	Off
xdebug.remote_cookie_expire_time	3600	3600
xdebug.remote_enable	Off	Off
xdebug.remote_handler	dbgp	dbgp
xdebug.remote_host	localhost	localhost
xdebug.remote_log	no value	no value
xdebug.remote_mode	req	req
xdebug.remote_port	9000	9000
xdebug.scream	Off	Off
xdebug.show_exception_trace	Off	Off
xdebug.show_local_vars	Off	Off
xdebug.show_mem_delta	Off	Off
xdebug.trace_enable_trigger	Off	Off
xdebug.trace_enable_trigger_value	no value	no value
xdebug.trace_format	0	0
xdebug.trace_options	0	0
xdebug.trace_output_dir	/tmp	/tmp
xdebug.trace_output_name	trace.%c	trace.%c
xdebug.var_display_max_children	128	128
xdebug.var_display_max_data	512	512
xdebug.var_display_max_depth	3	3
  • Вопрос задан
  • 1463 просмотра
Решения вопроса 1
Deroy
@Deroy
Senior Developer, Software Architect
при работе с удаленным хостом через интернет вам необходимо иметь белый IP адрес (т.е. тот который можно пингануть с любого другого хоста в интернете)

если он назначен роутеру - то именно на роутере настроить портфорвардинг того порта который используется xdebug (по дефолту - 9000) на вашу машину в локальной сети.

именно белый IP и должен фигурировать как remote_host на удаленном сервере.

и да, autostart тормозит сервер, так как даже если вы не "слушаете" xdebug - он запускается и долбит в указанный в настройках порт на указанном хосте.

коннект там UDP.

а вообще - лучше так не делать. =)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@krenar
Исчерпывающая статья Настройка XDebug PHPStorm
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы