PHP调试:如何配置Xdebug(例如,将其用于Vdebug -Vim插件 - )

时间:2013-12-20 15:08:33

标签: php apache vim apache2 xdebug

如何配置Xdebug以使其适用于Vim的Vdebug -PHP调试器?

我正在尝试安装Vdebug来调试Vim中的PHP。不幸的是,当我按F5时,此消息会在几秒后出现

Waiting for a connection (Ctrl-C to cancel, this message will self-destruct in
20  seconds...)
No connection was made

我该怎么办?

2 个答案:

答案 0 :(得分:3)

我解决了它,现在Vdebug正在工作。

在PHP中启用xdebug 编辑您的php.ini文件,并在“模块设置”部分下添加以下内容:

;;;;;;;;;;;;;;;;;;; ;模块设置; ;;;;;;;;;;;;;;;;;;;

的zend_extension = /路径/到/我/ xdebug.so

[调试]

远程设置

xdebug.remote_autostart =关

xdebug.remote_enable =上

xdebug.remote_handler = dbgp

xdebug.remote_mode = REQ

xdebug.remote_host =本地主机

xdebug.remote_port = 9000

一般 xdebug.auto_trace =关

xdebug.collect_includes =上

xdebug.collect_params =关

xdebug.collect_return =关

xdebug.default_enable =上

xdebug.extended_info = 1

xdebug.manual_url = http://www.php.net

xdebug.show_local_vars = 0

xdebug.show_mem_delta = 0

xdebug.max_nesting_level = 100

; xdebug.idekey =

跟踪选项

xdebug.trace_format = 0

xdebug.trace_output_dir = / TMP

xdebug.trace_options = 0

xdebug.trace_output_name = CRC32

xdebug.profiler_append = 0

xdebug.profiler_enable = 0

xdebug.profiler_enable_trigger = 0

xdebug.profiler_output_dir = / TMP

xdebug.profiler_output_name = CRC32

试一试

现在应该准备好了。重启apache并运行phpinfo()以查看是否有任何xdebug信息出现。如果没有,那么apache error_log + google就是你的朋友。

否则,您已准备好在vim中运行调试器。

在VIM中打开可从本地主机访问的PHP脚本 在Web浏览器中打开相同的PHP脚本 将?XDEBUG_SESSION_START = 1添加到URL的末尾 在VIM中,按F5。您应该在VIM的底部看到“等待端口9000上的新连接10秒......” 在接下来的10秒内,刷新浏览器页面,并在URL的末尾添加“?XDEBUG_SESSION_START = 1”。 回到VIM,您就可以在调试器中获得所有荣耀。 不要忘记:要在VIM中的窗口之间切换,请按CTRL-w-w。

Source -it applies to Ubuntu though it refers to another linux distribution-

希望这会有所帮助。

答案 1 :(得分:1)

我也遇到过这个问题,因为我正在为Xdebug使用不同的端口。

如果其他端口超过9000,则将其设置为〜/ .vimrc

let g:vdebug_options = {}
let g:vdebug_options["port"] = 9001