一、安装xdebug

1、编译安装xdebug,也可以使用pecl install xdebug

wget http://xdebug.org/files/xdebug-2.3.2.tgz
tar -zxvf xdebug-2.3.2.tgz
cd xdebug-2.3.2
phpize
./configure --enable-xdebug --with-php-config=/data/php/bin/php-config
make && make install

这一步会 生成xdebug.so文件

2、添加配置文件

zend_extension =xdebug.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
zend_debugger.httpd_uid=-1
xdebug.auto_trace = on
xdebug.auto_profile = on
xdebug.collect_params = on
xdebug.collect_return = on
xdebug.profiler_enable = on
xdebug.trace_output_dir = /tmp
xdebug.profiler_output_dir=/tmp/xdebug
xdebug.trace_output_name = trace.%c.%p xdebug.profiler_output_name=cachegrind.out.%s
xdebug.dump.GET = *
xdebug.dump.POST = *
xdebug.dump.COOKIE = *
xdebug.dump.SESSION = *
xdebug.var_display_max_data = 4056
xdebug.var_display_max_depth = 5 xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9010
xdebug.remote_autostart=1

 3、验证

可以通过phpinfo查看

二、安装vim插件

1、下载

wget http://www.vim.org/scripts/download_script.php?src_id=7285

下载完毕后,将解压将文件放入$HOME/.vim/plugin (mkdir ~/.vim/plugin)

然后访问,http://localhost/blog/index.php?XDEBUG_SESSION_START=1

新建.vimrc文件,加入配置如下:

let g:debuggerMaxDepth = 5

let g:debuggerPort = 9010

注意:要与xdebug.ini中端口配置一致。

2、调试

用vim打开此文件,用可 :Bp 设置断点,然后安 F5 键, 你将会看见waiting for a new connection on port 9000 for 5 seconds… ,此时在5秒内刷新刚才那个页面,即可在vim中看到调试界面。

如果出现 <type 'exceptions.AttributeError'>, AttributeError("DbgProtocol instance has no attribute 'stop'", 则说明没有配置成功,

1、xdebug.remote_* 没有配置好

2、要么是url尾部上没有加入 ?XDEBUG_SESSION_START=1

3、要么是你没有在5秒内刷新页面

注意事项

实际过程中,如果你发现安装完成仍然无法正常的调试PHP,极可能是下面的原因造成的:

一、Xdebug加载不成功

可能是由于PHP是”Debug Build”,那么php.ini里不应当用“zend_extension=/<extension_dir>/xdebug.so”,而应该用“zend_extension_debug=/<extension_dir>/xdebug.so”;

其它方面就是要注意xdebug.so路径是否正确,Apache服务或者是fastcgi服务有没有重启。

二、 调试会话已经过期

XDebug 通过一个Cookie来判断你是否进行调试对话,请注意这个Cookie的过期时间是1个小时。

三、SeLinux

修改配置文件/etc/selinux/config,将”SELINUX=”那一句配置改成”SELINUX=disabled”,然后重启机器。

vim+xdebug调试PHP的更多相关文章

  1. 用netbeans和xdebug调试php的配置

    xdebug的chrome.firefox插件 chrome:Xdebug helper firefox:easy Xdebug ----------------------------------- ...

  2. zend stuido 12.5的插件安装和xdebug调试器的配置和和配置注意

    参考: zend stuido 12.5的插件安装 zend 12.5 安装插件是按类别进行分类了的, 而且是在欢迎 界面就可以直接安装, 安装后,要重启zend才能生效 版式设计的一个基本点就是: ...

  3. 关于用netbeans和xdebug调试php的配置

    之前用过一段时间在apache,netbeans下通过xdebug调试.感觉不错,最近事情不多想从新配置下,是基于最新版本的php5.4做的,后来参考了下xdebug的官网说明完成的.官网地址:htt ...

  4. 使用zend studio配置Xdebug调试PHP教程

    这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...

  5. 用Eclipse+xdebug调试PHP总是在首行自动断点解决方法

    问题描述: 使用Eclipse+PDT+xdebug调试PHP程序时,总是在程序的第一行(首行)自动断点,不方便调试. 解决方法: 分别在下面3个位置配置,取消 Break at First Line ...

  6. wamp下安装php的xdebug调试的方法

    wamp下安装php的xdebug调试的方法 将下载好的php_xdebug-2.1.2-5.2-vc6.dll放在D:/wamp/php/ext/php_xdebug-2.1.2-5.2-vc6.d ...

  7. IDEA+PHP+XDebug调试配置

    XDebug调试配置 临时需要调试服务器上的PHP web程序,因此安装xdebug,下面简单记录 安装xdebug 下载最新并解压 wget https://xdebug.org/files/xde ...

  8. 使用phpStorm编辑器进行PHP代码的xdebug调试

    首先需要安装Xdebug,如果没有安装可以查看PHP断点调试工具Xdebug的安装这篇文章.phpStorm是开发者经常用的一款编辑器,当然也支持Xdebug调试,下面说一下配置步骤. phpStor ...

  9. PhpStorm 破解及 XDebug 调试

    PhpStorm 破解及 XDebug 调试 PhpStorm 破解 PhpStorm 10.0.2 破解 地址:http://jingyan.baidu.com/article/20095761cb ...

随机推荐

  1. Git 学习(四)操作修改和版本穿梭

    Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...

  2. pythonUnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128

    今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码,和uni ...

  3. 四边形优化dp

    理解: http://blog.renren.com/share/263498909/1064362501 http://www.cnblogs.com/ronaflx/archive/2011/03 ...

  4. 3D屏保:N皇后

    前几天园子里有人发表关于8皇后的算法.只有代码,没有能运行的DEMO多枯燥.于是我这两天抽时间写了个N皇后的屏保程序.程序启动后会从4皇后到14皇后显示其所有排列,每隔0.5秒自动切换一次.按下空格键 ...

  5. HDU4183 起点到终点再到起点 除起点每点仅经过一次 网络流

    题意: T个测试数据 n个圆 下面 fre x y r 表示圆的频率 坐标和半径 要求: 从频率为400(最小的) 圆 走到频率为789(最大)的圆,再走回来,除起点每个点只能经过一次 问这样的路径是 ...

  6. android中一些特殊字符(如:←↑→↓等箭头符号)的Unicode码值

    在项目中,有时候在一些控件(如Button.TextView)中要添加一些符号,如下图所示:                          这个时候可以使用图片的方式来显示,不过这些可以直接使用U ...

  7. Logistic Regression的几个变种

    原文:http://blog.xlvector.net/2014-02/different-logistic-regression/ 最近几年广告系统成为很多公司的重要系统之一,定向广告技术是广告系统 ...

  8. [jQuery] Custom event trigger

    $(document).ready(function(){ // Get Weather $('button').on('show.weather', function() { var results ...

  9. 【C#】SQL数据库助手类1.0(自用)

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  10. 免费的Bootstrap等待页面的应用模板

    在线演示 本地下载 这是一款适合移动设备的网页模板,它页面干净小巧.有很多新元素在其中,可以自定义动画和特效.非常酷!