netbeans показывает «Ожидание соединения (netbeans-xdebug)»

Кажется, не удается заставить netbeans остановиться на моих точках останова.

Когда я запускаю свой отладчик, я получаю бесконечный статус «Ожидание подключения (netbeans-xdebug)».

в phpinfo я вижу следующее

> xdebug xdebug support enabled Version 2.6.0beta1 IDE Key  mysession
> Supported protocols   Revision DBGp - Common DeBuGger
> Protocol  $Revision: 1.145 $ Directive    Local Value Master Value
> 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.filename_format    no value    no value
> xdebug.force_display_errors   Off Off xdebug.force_error_reporting    0   0
> xdebug.halt_level 0   0 xdebug.idekey netbeans-xdebug netbeans-xdebug
> xdebug.max_nesting_level  256 256 xdebug.max_stack_frames -1  -1
> xdebug.overload_var_dump  2   2 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    C:\Windows\Temp C:\Windows\Temp
> xdebug.profiler_output_name   cachegrind.out.%p   cachegrind.out.%p
> xdebug.remote_addr_header no value    no value
> xdebug.remote_autostart   Off Off xdebug.remote_connect_back  Off Off
> xdebug.remote_cookie_expire_time  3600    3600 xdebug.remote_enable   On  On
> xdebug.remote_handler dbgp    dbgp xdebug.remote_host 127.0.0.1   127.0.0.1
> xdebug.remote_log c:\xampp\php\logs\xdebug.log    c:\xampp\php\logs\xdebug.log
> xdebug.remote_mode    req req xdebug.remote_port  9000    9000
> xdebug.remote_timeout 200 200 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   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   C:\xampp\tmp    C:\xampp\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

в моем php.ini я добавил следующее

>  zend_extension = C:\xampp\php\ext\php_xdebug-2.6.0beta1-7.2-vc15.dll
> 
> xdebug.extended_info = on xdebug.remote_enable = 1
> xdebug.remote_handler = dbgp xdebug.remote_host = 127.0.0.1
> xdebug.remote_port = 9000 xdebug.remote_autostart = 0
> xdebug.remote_connect_back = 0 xdebug.trace_output_dir =
> "C:\xampp\tmp" xdebug.remote_log = "c:\xampp\php\logs\xdebug.log"
> xdebug.idekey=netbeans-xdebug

свойства проекта> Runconfiguration У меня есть следующий набор

> Run As: Local Web Site 
> ProjectURL: http://localhost:9000/

В дополнении ... У меня есть прокси-сервер отладчика: Host localhost Port: 9000

В Инструменты> Параметры> PHP> Отладка у меня есть следующий набор

> Debugger Port: 9000
> Session ID: netbeans-xdebug
> Maximum Data Length : 2048
> Show Requested URLs is checked

Дайте мне знать, если вам нужна дополнительная информация.

Дополнение: в netbeans я вижу, как мои запросы поступают на мой сетевой монитор. пример:

Request URL: chrome-extension://cajoopobkbcpiniljegibngikdbidbkh/special.js
Method: GET
Status: 200 OK

Request Headers
Referer: http://localhost/register.php?XDEBUG_SESSION_START=netbeans-xdebug
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36

Response Headers
Access-Control-Allow-Origin: *
cache-control: no-cache
Content-Security-Policy: script-src 'self' blob: filesystem: chrome-extension-resource:; object-src 'self' blob: filesystem:;
Content-Type: application/javascript
ETag: "9otsANv03nd8a+7S0vdszi+cI6E="

Мой запрос в браузере зависает, пока я не закрою процесс «Ожидание подключения (netbeans-xdebug)», а затем нормально загрузится.

Больше информации благодаря комментарию, оставленному skomisa.

Я запускаю netstat -o -n -a | findstr 127.0.0.1:9000 и получил следующее. Показывает, что netbeans не слушает.

  TCP    127.0.0.1:9000         127.0.0.1:60365        ESTABLISHED     10700
  TCP    127.0.0.1:60365        127.0.0.1:9000         ESTABLISHED     10700 

Я удалил mcafee и выключил защитник виндовс.


person Tolure    schedule 09.01.2018    source источник
comment
См. в этой статье около дюжины вещей, которые вы можете проверить, чтобы решить «Ожидание подключения (netbeans-xdebug)»: devside.net/wamp-server/   -  person skomisa    schedule 10.01.2018


Ответы (1)


Есть много ответов, чтобы решить эту конкретную проблему. Я думаю, вы не (повторно) искали об этом. И вы делаете некоторые ошибки при отладке кода. Чтобы решить проблему, выполните следующие действия.

Ваша конфигурация X-Debug выглядит правильно в файле php.ini. Но взгляните на эту небольшую модификацию, которую я приготовил для вас.

zend_extension = C:\xampp\php\ext\php_xdebug-2.6.0beta1-7.2-vc15.dll
xdebug.extended_info = on
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = "localhost"  ; <-- "localhost" instead of 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_autostart = 0
;xdebug.remote_connect_back = 0
xdebug.trace_output_dir = "C:\xampp\tmp"
xdebug.remote_log = "c:\xampp\php\logs\xdebug.log"
xdebug.idekey=netbeans-xdebug

В конфигурации запуска вам нужно указать свой URL-адрес проекта вместо http://localhost:9000/. Этот номер порта 9000 предназначен для целей XDebug. Итак, измените конфигурацию запуска на что-то вроде этого,

http://localhost/<your_project_name>/index.php

Теперь обратите внимание на это,

  1. Если вы используете xdebug.remote_host = "localhost", попробуйте с http://localhost иначе http://127.0.0.1.
  2. Если у вас есть порт Apache, настроенный на какой-то другой порт вместо 80, вы должны добавить этот адрес порта вместе с localhost или 127.0.0.1.
person Shashanth    schedule 11.01.2018