似乎无法让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
项目属性>运行配置我有以下设置
> Run As: Local Web Site
> ProjectURL: http://localhost:9000/
在advended ...... 我有调试器代理:主机localhost端口: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并关闭了windows defender。
答案 0 :(得分:0)
有很多答案可以解决这个特殊问题。我想你还没有(重新)搜索过它。并且在调试代码时你犯了一些错误。为了解决这个问题,请遵循以下步骤。
您的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
在运行配置中,您需要设置项目网址,而不是http://localhost:9000/
。端口号9000意味着XDebug的用途。因此,将运行配置更改为类似的内容,
http://localhost/<your_project_name>/index.php
现在请注意,
xdebug.remote_host = "localhost"
,请尝试使用http://localhost
其他http://127.0.0.1
。localhost
或127.0.0.1
一起附加。