Xdebug: [Step Debug] Не удалось подключиться к клиенту отладки. Пробовал: localhost: 9003 (откат через xdebug.client_host / xdebug.client_port) :-(

Как можно обойти это сообщение для xdebug ang php?

Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port) :-(

Это сообщение появляется, когда я запускаю composer update на WSL2, установленном с UBUNTU 20.01.

Моя текущая версия php - php8 и xdebug3

Обновлять:

Это раздел x-debug

xdebug

__   __   _      _
\ \ / /  | |    | |
 \ V / __| | ___| |__  _   _  __ _
  > < / _` |/ _ \ '_ \| | | |/ _` |
 / . \ (_| |  __/ |_) | |_| | (_| |
/_/ \_\__,_|\___|_.__/ \__,_|\__, |
                              __/ |
                             |___/

Version => 3.0.1
Support Xdebug on Patreon, GitHub, or as a business: https://xdebug.org/support

Feature => Enabled/Disabled
Development Aids => ✘ disabled
Coverage => ✘ disabled
GC Stats => ✘ disabled
Profiler => ✘ disabled
Step Debugger => ✔ enabled
Tracing => ✘ disabled

Debugger => enabled
IDE Key =>

Directive => Local Value => Master Value
xdebug.auto_trace => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.auto_trace" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.auto_trace"
xdebug.cli_color => 0 => 0
xdebug.client_discovery_header => no value => no value
xdebug.client_host => localhost => localhost
xdebug.client_port => 9003 => 9003
xdebug.cloud_id => no value => no value
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.collect_includes" => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.collect_includes"
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.collect_vars" => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.collect_vars"
xdebug.connect_timeout_ms => 200 => 200
xdebug.coverage_enable => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.coverage_enable" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.coverage_enable"
xdebug.default_enable => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.default_enable" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.default_enable"
xdebug.discover_client_host => 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.file_link_format => no value => no value
xdebug.filename_format => no value => no value
xdebug.force_display_errors => Off => Off
xdebug.force_error_reporting => 0 => 0
xdebug.gc_stats_enable => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.gc_stats_enable" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.gc_stats_enable"
xdebug.gc_stats_output_dir => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.gc_stats_output_dir" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.gc_stats_output_dir"
xdebug.gc_stats_output_name => gcstats.%p => gcstats.%p
xdebug.halt_level => 0 => 0
xdebug.idekey => no value => no value
xdebug.log => no value => no value
xdebug.log_level => 7 => 7
xdebug.max_nesting_level => 256 => 256
xdebug.max_stack_frames => -1 => -1
xdebug.mode => debug => debug
xdebug.output_dir => /mnt/c/www/traces => /mnt/c/www/traces
xdebug.overload_var_dump => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.overload_var_dump" => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.overload_var_dump"
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_enable" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_enable"
xdebug.profiler_enable_trigger => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_enable_trigger" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_enable_trigger"
xdebug.profiler_enable_trigger_value => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_enable_trigger_value" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_enable_trigger_value"
xdebug.profiler_output_dir => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_output_dir" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.profiler_output_dir"
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p
xdebug.remote_autostart => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_autostart" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_autostart"
xdebug.remote_connect_back => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_connect_back" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_connect_back"
xdebug.remote_enable => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_enable" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_enable"
xdebug.remote_host => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_host" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_host"
xdebug.remote_log => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_log" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_log"
xdebug.remote_log_level => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_log_level" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_log_level"
xdebug.remote_mode => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_mode" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_mode"
xdebug.remote_port => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_port" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_port"
xdebug.remote_timeout => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_timeout" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.remote_timeout"
xdebug.scream => Off => Off
xdebug.show_error_trace => Off => Off
xdebug.show_exception_trace => Off => Off
xdebug.show_local_vars => Off => Off
xdebug.show_mem_delta => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.show_mem_delta" => This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#removed-"xdebug.show_mem_delta"
xdebug.start_upon_error => default => default
xdebug.start_with_request => 1 => 1
xdebug.trace_enable_trigger => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.trace_enable_trigger" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.trace_enable_trigger"
xdebug.trace_enable_trigger_value => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.trace_enable_trigger_value" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.trace_enable_trigger_value"
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.trace_output_dir" => This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-"xdebug.trace_output_dir"
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.trigger_value => no value => no value
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3

person Fil    schedule 05.12.2020    source источник
comment
Это могут быть ваши настройки Xdebug или PHP. Я имею в виду - причину, по которой он печатается в консоли (поскольку он предназначен только для печати в журнале ошибок). Пожалуйста, покажите php -i (который совпадает с phpinfo()) - на данный момент в основном интересует раздел Xdebug и основной PHP (связанный с журналом ошибок).   -  person LazyOne    schedule 09.12.2020
comment
Что касается того, почему он там все равно ... у вас должен быть xdebug.start_with_request = yes (который совпадает с xdebug.remote_autostart = yes для Xdebug v2) - он сообщает Xdebug попробовать отладить каждый скрипт независимо от флага отладки . Попробуйте отключить его и использовать отладку только по запросу (например, при запуске из вашей IDE / cookie, установленной расширением браузера Xdebug).   -  person LazyOne    schedule 09.12.2020
comment
Да .. Я только что обновил вопрос, указав в нем информацию о x-debug   -  person Fil    schedule 11.12.2020
comment
Да, работает. удаление xdebug.start_with_request = yes устранило проблему.   -  person Fil    schedule 11.12.2020
comment
Ваши настройки Xdebug - стандартные значения (те, которые я хотел проверить). Какое значение error_log для вашего PHP? Возможно, он каким-то образом перенаправляется на стандартный вывод (это мое лучшее предположение, основанное на поведении, которое вы видите), поскольку обычно такие сообщения печатаются там (журнал ошибок PHP). В любом случае его можно выключить, установив xdebug.log_level = 0. Очевидно, что если вам понадобится журнал Xdebug для информации / отладки, обязательно закомментируйте эту строку обратно (значение по умолчанию 7).   -  person LazyOne    schedule 11.12.2020
comment
Пожалуйста, покажите, какое значение имеет значение error_log в настройках PHP (например, из вывода phpinfo(); или просто ini_get('error_log');). Бьюсь об заклад, он будет пустым (или, возможно, в каком-то неправильном месте).   -  person LazyOne    schedule 11.12.2020
comment
мой php error_log не имеет значения в phpinfo ()   -  person Fil    schedule 12.12.2020


Ответы (2)


Что в первую очередь вызывает это сообщение:

У вас есть xdebug.start_with_request = yes (то же самое, что xdebug.remote_autostart = yes для Xdebug v2). Этот параметр указывает Xdebug пытаться отлаживать каждый отдельный запрос / сценарий независимо от флага отладки.

Если Xdebug не может подключиться к клиенту отладки (значения из xdebug.client_host & xdebug.client_port .. или автоматически определяемый хост, если xdebug.discover_client_host включен), он уведомляет вас об этом.

Как предотвратить его появление на моем экране / в выводе:

Xdebug использует стандартные процедуры PHP для написания таких предупреждений (например, стандартная функция PHP error_log() ). Обычно такое сообщение записывается в стандартный журнал ошибок PHP.. Похоже, у вас его вообще не настроено в вашем php.ini (пустое значение), поэтому PHP вместо этого отправляет его на ваш стандартный вывод (так что у вас все еще есть шанс увидеть это, поскольку это может быть важно).

Решение - указать PHP error_log ini в какое-либо допустимое место, чтобы вы могли прочитать его при необходимости (путь зависит от вашей ОС и дистрибутива, например, error_log = /var/log/php_error.log будет очень распространенным явлением). Если вам вообще не нужен такой журнал (у вас есть другая система ведения журнала) - используйте вместо него /dev/null или что-то подобное.


Вы также можете попробовать xdebug.log_level = 0, но это должно помешать Xdebug что-либо регистрировать, даже если вы укажете xdebug.log.

person LazyOne    schedule 12.12.2020
comment
Спасибо за указание на это, хотя он работает с удалением xdebug.start_with_request = yes, это также полезно, потому что время от времени я иногда использую ini_set('display_errors', 1); для отображения в начале скрипта, если что-то не улавливается. - person Fil; 12.12.2020
comment
xdebug.log_level=0 был для меня решением. - person RyanNerd; 12.12.2020
comment
Спасибо. В моем случае эти базовые ошибки Xdebug, в свою очередь, вызывали ошибки phpcs в форме phpcs: Unknown error ocurred. Please verify that C:\Users\Nick\AppData\Roaming\Composer\vendor\bin\phpcs.bat --report=json -q --encoding=UTF-8 --error-severity=6 --warning-severity=6 C:\Bitnami\wampstack-7.4.12-0\apache2\htdocs\myfile.php - returns a valid json object. Я не хочу, чтобы создавался огромный, забытый файл журнала, поэтому настройка xdebug.log_level=0 работает для меня, хотя, как новичок, я немного обеспокоен о том, какие важные ошибки Xdebug я могу пропустить. - person Nick Hope; 24.05.2021
comment
@NickHope Ничего важного, AFAIK. Если отладка у вас уже работает, то ничего важного не будет упущено. - person LazyOne; 24.05.2021
comment
@LazyOne У меня есть путь error_log в моем php.ini, но на моей консоли все еще появлялась та же ошибка. Мне пришлось установить xdebug.log_level=0, чтобы это исправить. Но теперь я не получу никакого вывода на свой error_log путь, если что-то пойдет не так? - person PA-GW; 22.07.2021
comment
@ PA-GW См. xdebug.org/docs/all_settings#log_level - он сообщает, что будет регистрироваться при значении «0». - person LazyOne; 22.07.2021

Из документации Xdebug об этом виде ошибок:

Происходит, когда Xdebug пытается подключиться к клиенту отладки, чтобы начать сеанс отладки.

Отладчику не удалось подключиться к клиенту. В сообщении об ошибке указано, какие комбинации хоста и порта были опробованы, и с помощью каких параметров конфигурации был сделан такой вывод.

Пример:

Не удалось подключиться к клиенту отладки. Пробовал: ::1:9003 (из HTTP-заголовка REMOTE_ADDR), localhost:9003 (откат через _4 _ / _ 5_)

Это сообщение указывает, что Xdebug сначала попытался использовать ::1:9003 (локальный хост IPv6) из заголовка REMOTE_ADDR, а затем вернулся к localhost:9003, как настроено с xdebug.client_host и xdebug.client_port.

Предлагаемые решения:

  • Проверьте, прослушивает ли ваш клиент отладки указанный адрес и порт. В Linux и OSX вы можете использовать netstat -a -n | grep LISTEN для проверки.
  • Измените xdebug.client_host и / или xdebug.client_port на правильный адрес / имя хоста и порт, на котором клиент отладки прослушивает.
person Ale    schedule 09.12.2020
comment
О, это также полезно, чтобы определить, где он слушает, используя netstat -a -n | grep LISTEN - person Fil; 12.12.2020
comment
Большое спасибо!!! - person Everton Miranda De Oliveira; 30.06.2021