有牛人写了个手册,介绍 php 的调试方法及不同 IDE 下的配置方法,按照里面的方法在 ubuntu 下搞定,又想在 windows 下也能用 vim debug,于是按照 ubuntu 方法在 xp 下试了下,几经折腾,终于搞定了,记录下: 1 ,下载 xdebug,如果不清楚下载哪个,怎样写
有牛人写了个手册,介绍 php 的调试方法及不同 IDE 下的配置方法,按照里面的方法在 ubuntu 下搞定,又想在 windows 下也能用 vim debug,于是按照 ubuntu 方法在 xp 下试了下,几经折腾,终于搞定了,记录下:
1,下载 xdebug,如果不清楚下载哪个,怎样写配置,把自己 phpinfo() ?的输出放在这里查询下,下载放到 php 安装目录的 ext 目录下,然后在 php.ini 加入 xdebug 的配置信息(如下,注意 remote_port 端口,需要和 debugger 中设置一致,并且没被占用),然后重启 web 服务器;然后 phpinfo() 输出中确认否配置正确。
[XDebug]
zend_extension=”G:/web/php/ext/php_xdebug-2.1.4-5.3-vc9.dll”
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
注意 port 要没有占用,php fastcgi 下占用的 port 一般为 9000, 如果冲突请修改为其他端口,如 9001,然后在 vimrc 中设置?let g:debuggerPort = 9001。
2,下载DBGp,将里面 debugger.vim 和 debugger.py 放到 vimfiles 下 plugin 目录下;vim 需要 +python +signs,windows 下 vim73 已经默认开启了这两个选项。
3,编辑 debugger.vim,修改 pyfile 调用中 debugger.py 文件的路径
4,编辑 debugger.py,将 DebugUI 中 self.sessfile (line 441)改为自己一个路径,如我的是
self.sessfile = “C:/Documents and Settings/zhanglin/vimfiles/session/debugger_vim_saved_session.” + str(os.getpid())
然后搜索 [7:] (有3个),将其改为 [8:],这个是因为 linux 下绝对路径第一个字符是 /,而 windows 下不是。
5,下载 python(2.7.3 的版本,3.2.3 的 vim7.3 识别不了),将 python.exe 放入环境变量,确保 vim 能找到 python。
6,重启 vim,找一个 php 文件,然后 :Bp 设置断点,按 F5 启动调试,然后加上参数??XDEBUG_SESSION_START=1访问这个 php 文件;然后 vim 中就能收到信号,就会断在文件第一行,然后就可以一步一步跟进代码执行;右侧会列出控制快捷键。
说明:加上?XDEBUG_SESSION_START 参数后,php 会自动设置一个?XDEBUG_SESSION 的 cookie,之后的请求就可以不带这个参数了。
如果不想自己折腾,可以下载我的配置文件
有牛人写了个手册,介绍 php 的调试方法及不同 IDE 下的配置方法,按照里面的方法在 ubuntu 下搞定,又想在 windows 下也能用 vim debug,于是按照 ubuntu 方法在 xp 下试了下,几经折腾,终于搞定了,记录下: 1,下载 xdebug,如果不清楚下载哪个,怎样写配置,把自己 phpinfo() ?的输出放在这里查询下,下载放到 php 安装目录的 ext 目录下,然后在 php.ini 加入 xdebug 的配置信息(如下,注意 remote_port 端口,需要和 debugger 中设置一致,并且没被占用),然后重启 web 服务器;然后 phpinfo() 输出中确认否配置正确。 [XDebug] zend_extension=”G:/web/php/ext/php_xdebug-2.1.4-5.3-vc9.dll” xdebug.remote_enable=true xdebug.remote_host=localhost xdebug.remote_port=9000 … Continue reading原文地址:windows下用vim调试php, 感谢原作者分享。