关于netbeans断点调试php的问题
按照网上的一些例子,配置了xdebug(php版本是7.0),启动应该是正常的
我使用的是php自带的web服务器运行的,启动后phpinfo()已经打出了xdebug相关的信息了,但是用netbeans连接始终不行
有的说是netbeans作为服务端启动一个端口(默认为9000),但感觉应该是服务端(也就是php端启动一个xdebug的端口,类似java的调试模式)
我的php.ini配置如下:
zend_extension="E:/php-7.0.13-Win32-VC14-x64/ext/xdebug-2.5.0rc1-7.0-vc14-x86_64.dll" xdebug.profiler_enable=on xdebug.remote_enable=On xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_port=9000
xdebug
xdebug support | enabled |
---|---|
Version | 2.5.0rc1 |
IDE Key | netbeans-xdebug |
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.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 | 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:WindowsTemp | C:WindowsTemp |
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 | 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_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:WindowsTemp | C:WindowsTemp |
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 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不管php服务端还是netbeans,等启动完了应该会有一个端口,比如9000这样的。php服务端启动完我看了phpinfo()打印出了xdebug相关的信息,但是我telnet 9000这个端口确实没有的
回复
不是,是Netbeans会启动一个端口,xdebug把调试信息发给这个地址端口,具体配置如: xdebug.remote_host = 127.0.0.1 和 xdebug.remote_port = 9001 (Linux上因为PHP-FPM默认占用了9000端口,所以Netbeans监听的端口应该改为其他)
那就是说php with xdebug服务器会启动一个端口?然后IDE去连接这个端口
Netbeans使用Xdebug调试PHP的工作过程是这样的:
Netbeans发起Xdebug会话请求远程PHP with Xdebug服务器,PHP with Xdebug则通过remote_host:remote_port把调试信息返回给Netbeans.