当前位置:首页 > CN2资讯 > 正文内容

Vim XDebug调试PHP php远程调试php 调试

13小时前CN2资讯

原理上,这种调试方式主要依靠Vim的插件“​​remote PHP debugger​​”来实现,该插件实现了一个​​DBGP​​服务端。调试的时候Xdebug将会与服务端建立一个连接进行通信,接收服务端的调试指令并返回调试结果。

安装和配置

XDebug

安装:

       ubuntu 下直接 apt-get install php5-xdebug  安装

       到/usr/lib/php5/20090626+lfs  即可看到 可拷贝到你指定的模块地址

 

配置:(php.ini文件)

  • 加载Xdebug扩展:

zend_extension=/<extension_dir>/      #<extension_dir>为你拷贝到的目录     


  • 配置xdebug开启dbgp远程调试

xdebug.remote_enable=on
xdebug.remote_handler=dbgp


Vim的Debugger插件

这个简单,只需要将插件下载回来,解压放到~/.vim/plugin目录

调试过程

用Vim打开要调试的PHP文件,按<F5>进入调试状态。请移步《​​PHP调试指南​​》,上面写的详细一些。

注意事项

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

一、Xdebug加载不成功

可以通过phpinfo或者是”php -m”来确认Xdebug是不是加载成功。加载不成功的原因可能是由于PHP是”Debug Build”(可以通过phpinfo确认),那么php.ini里不应当用“zend_extension=/<extension_dir>/”,而应该用“zend_extension_debug=/<extension_dir>/”;

其它方面就是要注意路径是否正确,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 <F5> 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 
<F1> : resizing windows 
<F2> : step into 
<F3> : step over 
<F4> : step out 

<F6> : stop debugging 

<F11> : shows all variables 
<F12> : 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 <F6> to stop debugging. 
    then, debugger windows will be closed and windows will be restored. 
    ( holy :mksession feature )

参考和延伸阅读

  • ​​Using vim and xdebug DBGp for debugging Drupal (or any PHP application)​​
  • ​​remote PHP debugger​​
  •  


    首先下载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里的文件复制走即可。




    Xml代码  


  • ./configure --enable-xdebug   
  • --with-php-config=/usr/local/php/bin/php-config  

  •  

     




    Xml代码  


  • make  

  •  

     

    把复制到了php安装目录,装php的时候指定了安装目录,所以复制到/usr/local/php/xdebug里。随便你复制到哪都行,只要你清楚知道。。。需要改下面一条命令的路径为你自己的。


      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/26440.html

      分享给朋友:

      “Vim XDebug调试PHP php远程调试php 调试” 的相关文章

      RackNerd虚拟主机服务评测:高性价比的选择与多样化方案

      RackNerd是一家相对年轻但极具潜力的虚拟主机商,自2017年成立以来,一直致力于为客户提供高性价比的服务。作为我在寻找虚拟主机时发现的一家重要供应商,他们的服务范围非常广泛,包括虚拟主机、VPS主机、独立服务器以及服务器托管等,我着实被他们多样的产品所吸引。 RackNerd不仅限于某个特定地...

      提升跨境业务体验:CN2GIA全球互联网接入服务解析

      在当今数字化时代,网络服务的质量直接影响着企业的发展。CN2GIA,即“Global Internet Access”,是中国电信为了提升国际网络服务而推出的一项高端业务。为了满足不断增长的国际市场需求,CN2GIA 的出现标志着中国电信在建设下一代网络上的重要一步。它的目标是为用户提供更优质的国际...

      选择合适的SSH连接工具以提升远程管理效率和安全性

      在当今的网络环境中,SSH连接工具扮演着重要角色。简单来说,SSH连接工具是一种应用程序,用于通过SSH协议安全地连接和管理远程服务器。想想看,当我们需要与服务器进行交互、执行命令或者上传文件时,这些工具就变得尤为重要。 我记得第一次使用SSH连接工具的时候,是为了管理一台远程服务器。能够通过简单的...

      elkupi - 提供灵活抗投诉主机服务的领先选择

      在我探寻各种主机服务商时,elkupi是个让我印象深刻的名字。这家公司在业内存在已久,专注于提供一些特殊主机服务,尤其是在欧美国家法律限制较多的情况下,elkupi的优势尤为明显。它不仅能容纳一些法律上不太允许的内容,在抗投诉方面也表现得非常出色,几乎可以忽略不计。这一特点无疑吸引了很多需要这类服务...

      IEPL:企业国际以太网专线的优势与申请指南

      什么是IEPL 当我第一次接触IEPL(International Ethernet Private Line)时,我意识到它是一种为企业提供国际级别的网络连接服务,特别适合那些需要在不同国家和地区之间高效、安全传输数据的公司。这项服务一般由电信运营商提供,旨在帮助企业实现及时的信息交流和数据传输。...

      联通AS4837线路全面解析:稳定性、覆盖范围与国际连接优势

      联通AS4837线路概述 什么是中国联通AS4837线路? 中国联通AS4837线路,往往被称为中国169骨干网,是一条重要的骨干网线路。这条线路自20世纪90年代始建以来,一直在中国的互联网基础设施中扮演着不可或缺的角色。它不仅在国内广泛布置,还连接着多个国际市场,包括香港、美国、日本和韩国等,形...