xdebug 配置
xdebug 安装
原文地址:http://xiaobin.net/201007/using-vim-and-xdebug-to-debug-php-code/
原理上,这种调试方式主要依靠Vim的插件“remote PHP debugger”来实现,该插件实现了一个DBGP服务端。调试的时候Xdebug将会与服务端建立一个连接进行通信,接收服务端的调试指令并返回调试结果。
安装和配置XDebug
安装:
ubuntu 下直接 apt-get install php5-xdebug 安装
到/usr/lib/php5/20090626+lfs 即可看到xdebug.so 可拷贝到你指定的模块地址
配置:(php.ini文件)
加载Xdebug扩展:zend_extension=//xdebug.so #为你拷贝到的目录
配置xdebug开启dbgp远程调试xdebug.remote_enable=on
xdebug.remote_handler=dbgp
Vim的Debugger插件
这个简单,只需要将插件下载回来,解压放到~/.vim/plugin目录
用Vim打开要调试的PHP文件,按进入调试状态。请移步《PHP调试指南》,上面写的详细一些。
注意事项实际过程中,如果你发现安装完成仍然无法正常的调试PHP,极可能是下面的原因造成的:
一、Xdebug加载不成功
可以通过phpinfo或者是”php -m”来确认Xdebug是不是加载成功。加载不成功的原因可能是由于PHP是”Debug Build”(可以通过phpinfo确认),那么php.ini里不应当用“zend_extension=//xdebug.so”,而应该用“zend_extension_debug=//xdebug.so”;
其它方面就是要注意xdebug.so路径是否正确,Apache服务或者是fastcgi服务有没有重启。
phpinfo 显示显示如下,表示正常
二、 调试会话已经过期
XDebug 通过一个Cookie来判断你是否进行调试对话,请注意这个Cookie的过期时间是1个小时。某天你埋头工作的时候发现Vim + Xdebug刚刚还work,怎么一下又不work了,那多半是由于这个会话已经过期了。
只要在URL后面带上参数 “XDEBUG_SESSION_START=1″,调试会话就会延续1小时。
访问路径:
For clean URLs use: http://example.com/admin/feature?XDEBUG_SESSION_START=1
Otherwise use: http://example.com?q=admin/feature&XDEBUG_SESSION_START=1
四、更改调试等待时间 (默认5秒钟)
编辑debuger.py
2. press and browse php file within 5 seconds. :-)
If you did setup correctly, server will make connection to vim.
[ you can change port by editing last line of debugger.vim ]
all the windows currently opened will be closed and debugger interface will be shown.
3. in debuggin mode
: resizing windows
: step into
: step over
: step out
: stop debugging
: shows all variables
: shows variable on current cursor
,e : evalute expression and display result. cursor is automatically move to watch window. type line and just press enter.
command line command)
:Bp : toggle breakpoint on current line
:Up : goto upper level of stack
:Dn : goto lower level of stack
4. press to stop debugging.
then, debugger windows will be closed and windows will be restored.
( holy :mksession feature )
首先下载xdebug2.1.0,在官方首页下载源代码,下载回来的文件名是:xdebug-2.1.0.tgz
xdebug的版本需与您的php版本相对应,由于偶的php是5.3.2,所以下载xdebug2.1.0
Xml代码
cd /your/download/path tar zxvf xdebug-2.1.0.tgz cd xdebug-2.1.0运行phpize
Xml代码
phpize如果没有将phpize加入$PATH,则应该使用全路径
这里不需要--prefix,编译好之后直接把modules里的xdebug.so文件复制走即可。
Xml代码
./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
Xml代码
make把xdebug.so复制到了php安装目录,装php的时候指定了安装目录,所以复制到/usr/local/php/xdebug里。随便你复制到哪都行,只要你清楚知道。。。需要改下面一条命令的路径为你自己的。