图片 22

配置XDebug

  1. 安装逼Debug能够参见
  2. 编排php.ini,参加以下两行:

    zend_extension=/path/to/xdebug.so
     xdebug.remote_enable=1
    
  3. 编写你的httpd.conf,参预以下行:

     php_value xdebug.remote_autostart 1
    

假定有八个开拓职员同偶尔候供给调护诊治差异的VirtualHost,能够在你的VirtualHost段中步入以下行:

 php_value xdebug.remote_port 9009

注:这里的9009便是VIM作为DBGp服务器应当监听的端口,分歧的开辟人士在分化的VirtualHost中用各自分化的端口号。这几个端口号和下一节提到的dbgPavimPort要长久以来。不加这一行,私下认可的端口号是9000。
最终可通过phpinfo.php检查你的XDebug配置是不是科学,你无法或不可能见到以下这几个行的值如下(首要是前两列):

xdebug.remote_autostart  On  Off
 xdebug.remote_enable   On  On
 xdebug.remote_handler  dbgp    dbgp
 xdebug.remote_host 127.0.0.1   127.0.0.1
 xdebug.remote_port 9009    9000

phpinfo.php文件内容如下:

<?php
     phpinfo();
 ?>

HTTP调节和测量试验会话

三、Xdebug 浏览器插件配置

2. 在Eclipse中配置debug选项

本身用的是Eclipse for PHP Developers Helios,其余的本子相像。首先在Window
-> Preferences 窗口的侧边选拔PHP -> Debug(如下图State of Qatar,在窗口侧面的PHP
Debugger这一项中精选XDebug,那么些选项的侧面有个Configure链接,点进去能够对XDebug实行安装,请保管XDebug使用的端口号与php.ini文件中钦赐的均等(平日为9000State of Qatar,上面两项为设置web服务器甚至php解释程序,再上边包车型地铁Break
at first line表示调节和测验起来后在第1行断开:

图片 1

 

在Apache情状下调节和测量检验PHP

  1. 前几天承认配置不错后,能够用VIM张开你供给调养的公文,跳到您须要调养的行,按F10设置当前作为断点,并按F5起步调节和测验器。
  2. 用浏览器访问会调用相应PHP文件的U君越L,你会见到VIM状态栏里的的提醒新闻形成:

     bap-PEND-1
    

  1. 它报告你早本来就有三个三番五次被截留,能够按F5发端调节和测量试验了。图片 2
  2. 按F5步入调节和测量试验方式,你会看出VIM窗口被分为三有的:左上为源码窗口,右上为变量查看窗口,下方为调用仓库窗口。图片 3在源码窗口里,把光标定位到某二个变量上边按F12,在变量查看窗口就能够看到该变量的值,倘诺该变量不是总结变量,其成员也会呈现出来。如若该变量的某部成员仍不是轻便变量,该行前边会冒出三个加号,在该行按回车键,该成员的值将被一而再一而再进行。若是你想平昔查看有些变量的成员变量,能够按v切换成visual格局,选中该成员再按F12,比方$this->login。在库房窗口,当你在某一行按回车,将跳到该层。最上边一行是最尾部,最上边一行是最顶层。切换调用宾馆的层系,能够援助你查看各样等级次序的变量,举个例子某些全局变量唯有在最顶层技巧看见。对于源码中未有现身的变量,你能够由此命令:Pg来查阅,举个例子:

      g $this->memberShip
    

  1. 你能够开头你的调弄收拾了,随即按F1可调出补助窗口,再度F1就关门协理窗口。图片 4

连锁设置

 

xdebug.extended_info

类型: integer, 默认值: 1

决定xdebug是还是不是逼迫性开启PHP解析器的“extended_info”格局,那能让Xdebug在远端调节和测验上到位文件/行号断点调节和测量试验。当追踪或剖判脚本你平时想关闭此选项,因为PHP发生的数组会扩充三分一的尺寸减慢你的脚本。该装置只好在php.ini设置,不能在ini_set()内设置。

xdebug.idekey

类型: string, 默认值: \complex**

垄断(monopoly卡塔尔(قطر‎哪一种IDE索引值可由xdebug传递到DBGp调试微处理器。暗许境况下是根据设置条件。首先境况设置DBGP_IDEKEY会被构思,之后是USE福特Explorer和结尾的USELANDNAME。私下认可值会是找到第八个遭受变量。假如真的找不到则该装置是暗中认可“”。借使该值有设置,它日常覆盖情况变量值。

xdebug.remote_autostart

类型: boolean, 默认值: 0

相通的话要利用一钦赐的HTTP的GET/POST变量运营远端调试(参谋 Remote
Debugging卡塔尔。当设置为1时,Xdebug会尝试运转一远端调节和测量试验会话并筹划连接到一顾客端,即就是GET/POST/总CEOKIE变量并不设有。

xdebug.remote_connect_back

类型: boolean, 默认值: 0, 始于 Xdebug > 2.1

万一设置生效, xdebug.remote_host 设置会忽略而Xdebug会尝试给创制HTTP央求的客商端进行接二连三。它会检查$_SERVER[‘REMOTE_ADDR’]
变量并搜索利用的IP地址。请牢牢记住它并未有实用的过滤,任何人都能开发银行调节和测验会话连接到服务器,固然他们的地点并不匹配 xdebug.remote_host.

xdebug.remote_cookie_expire_time

类型: integer, 默认值: 3600, 始于 Xdebug > 2.1

用于增减远端调节和测量检验会话的cookie存在时间。

xdebug.remote_enable

类型: boolean, 默认值: 0

该开关调控Xdebug试图与调整客商端通讯,顾客端通过设置 xdebug.remote_host 和 xdebug.remote_port侦听服务器和端口当。当设置为0,脚本仅仅是运转而连续几天不能够被确立。

 

xdebug.remote_handler

类型: string, 默认: dbgp

可改为‘php3’使用旧的PHP3样式调节和测量试验器输出,‘gdb’能使GDB生效相通于调节和测量试验器接口,或是‘dbgp’使用调节和测验器左券。DBGp合同是独占鳌头协理的商量。

只顾:2.1或上述版本只支持’dbgp’作为协商。

 

xdebug.remote_log

Type: string, Default value:

If set to a value, it is used as filename to a file to which all remote
debugger communications are logged. The file is always opened in
append-mode, and will therefore not be overwritten by default. There is
no concurrency protection available. The format of the file looks
something like:

Log opened at 2007-05-27 14:28:15

-> <init xmlns=”urn:debugger_protocol_v1″
xmlns:xdebug=” … ight></init>

 

<- step_into -i 1

-> <response xmlns=”urn:debugger_protocol_v1″
xmlns:xdebug=” … ></response>

 

xdebug.remote_mode

类型: string, 默认值: req

慎选当调节和测验连接的格局。有二种值:

req

当调节和测量检验客户端一同先脚本运转,Xdebug尝试连接收调节和测验顾客端。

jit

只有在错误发生时,Xdebug才会连选择调节和测量检验端。

 

xdebug.remote_port

类型: integer, 默认值: 9000

Xdebug试图连接到远端服务器的端口。端口9000是私下认可顾客端与绑定的调节和测量检验客户端关连端口。大多客户端都用此端口号,建议最佳不要改。

PHP
开垦的时候,频仍的调节和测量试验,总是打字与印刷感到功用太低了,能还是不能像编写翻译型语言相符断点调节和测验呢?当然可以,只是需求张开一些安顿,稍显麻烦。

设置与布署:

本文首要介绍怎么样在服务器上用VIM +
XDebug调节和测验PHP程序,如今就算有数不完介绍怎么样用Eclipse +
XDebug在开荒职员职业机上调节和测验PHP的篇章,但对此怎么样系统的陈设VIM +
XDebug还是超级少的,何况这几天有关VIM设置的篇章都用三个比较老的插件。这里最主要介绍一个新插件DBGPavim,它相对于老的片段插件有众多优势。相同的时候该插件可周详的用于Python程序的调理。其余VIM

Firefox插件具有IDE分界面更便于方便调节和测验。插件地址: .

四、PhpStorm IDE配置

2. Eclipse

Eclipse
是五个开放源代码的、基于Java的可扩充开拓平台。就其本人来说,它只是二个框架和一组服务,用于通过插件组件营造开采遭逢。使用它,可以为我们的PHP开拓带给繁多福利,软件可在其官方网站下载。

 

调度命令行运营的PHP程序

如若您须求调弄收拾命令行运维的PHP程序,也亟需保障PHP程序端的装置是情有可原的。这一个设置能够像前面同样在php.ini中设定,也能够透过命令行参数来设定。譬喻:

php -dxdebug.remote_autostart=1 -dxdebug.remote_port=9009 test.php

要是你的命令行使用的ini和apache中php5_module使用的ini是相似的(日常状态是那样的),你无需在参数中再来做这个设置。但只要您在ini中的设置是身处某些virtualhost段里,你如故须要加上这几个设置。
你可以通过命令行:

php --ini

来查看你的吩咐行用的是哪个ini。

接着你能够选用命令:

php -r "phpinfo();"|grep xdebug.remote_

来检查你的XDebug设置。

着力步骤如下:

  1. 用VIM展开你须要调理的PHP文件,F10设置断点,F5起步调节和测量检验监听。
  2. 从命令行运维php程序如上。
  3. 回来你的VIM窗口,将见到提醒新闻为PEND-1。
  4. 按F5进入调试格局。

DBGPavim提供叁个:Dp命令简化命令路程序的调节和测量试验。只需张开你的PHP文件,输入指令:Dp就可以。

当连接形成,调节和测验服务器将出口以下信息:

一、构思工具

1. Xdebug

Xdebug是三个盛放源代码的PHP程序调节和测验器(即三个Debug工具卡塔尔国,十分强大,它能够用来追踪,调节和测量检验和分析PHP程序的运行意况。Xdebug今后的新星版本是Xdebug
2.1.0, 下载页面是

5.2 VC6 (32 bit卡塔尔国 下载,文件名是php_xdebug-2.1.0-5.2-vc6.dll:

图片 5

配置VIM + DBGPavim

DBGPavim插件自身是用Python实现的,所以要求您的VIM协理Python
2.7。展开你的VIM,输入指令

:version

若果能看出“+python”,表达你的VIM是永葆Python的。
要是见到的是“-python”,表明你的VIM不支持Python,你可以按如下步骤编写翻译本身的VIM:

  1. 安装Python 2.7
  2. export path=/path/to/python2.7/bin:$PATH
  3. 用以下命令编译VIM:

 ./configure --prefix=/opt/vim --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config
 make
 make install

注:这里的/usr/lib/python2.7/config决意于你把Python2.7设置到何以岗位。

从这里或者这里下载DBGPavim,放到你的~/.vim目录下,并编写的您的~/.vimrc,参加以下两行:

let g:dbgPavimPort = 9009
let g:dbgPavimBreakAtEntry = 0

注:这里的9009和上一节的9009要一致,要是上一节未有配备xdebug.remote_port,这里也无需配置,因为它们都会动用暗许的9000。
dbgPavimBreakAtEntry=0告诉VIM不在入口处停下,那样只会在断点处停下。

你能够再度开动VIM,按F5反省你的DBGPavim配置是不是正确。假让你布置成功的话,你会做VIM窗口的右下角见到提醒音讯如下:

bap-LISN-9009

它意味着VIM方今正值监听9009端口,bap表明它只会在断点处停下,其余提醒新闻格式如下:

<bae|bap>-<LISN|PENDn|CONN|CLSD>

断点状态

bae Break At Entry,在入口处停下
bap Break only At breakPoints,只在断点处停下

调节和测量试验器状态

LISN 调试器已启动,正处于监听状态。
PEND-n  调试器已捕捉到连接请求,可以按F5进入调试模式了。
CONN    VIM正处于调试模式中。
CLSD    调试器已停止。

– libedit support: enabled

  1. IDE Key 配置为 PhpStorm

    图片 6Xdebug
    插件配置

  2. Xdebug 插件开启调节和测量试验

    图片 7Xdebug
    开启调试

程序调节和测量试验:

安装好现在便可对先后开展调节和测量检验了,点击工具上的昆虫 -> Debug
As,这里勉强可以以web页面包车型大巴款型或然PHP脚本的样式展开调试(如下图):

图片 8

顺遂的话当前工作区视图会切换为PHP
Debug,然后程序会在第1行断开,接着就足以开展单步调节和测量试验了(如下图卡塔尔,调节和测量检验的不二秘技就十分的少说了,自身招来,一言以蔽之相当有助于:

图片 9

版权注明:本文为博主原创文章,未经博主允许不得转发。


兑现原理

图片 10

DBGp是调节和测验器后台和调节和测验器分界面通讯的一种左券,用于八种脚本语言的调护医疗。XDebug是用于调节和测量检验PHP的DBGp落成。VIM要和XDebug互通,完结PHP的调节和测量检验,供给能够明白DBGp公约,并能发送DBGp指令。DBGPavim便是那般二个插件,它使VIM能够担负DBGp须要,并发送DBGp指令,以高达调整目标。DBGPavim的名字来自DBGp@VIM。

ActiveState提供了用于调节和测量试验Python/Ruby的DBGp达成Komodo Remote Debugging
Package,前面有一节将讲到怎么样使它和VIM互通,以调整Python。顾客将能就那样推算出什么调节和测验ruby/nodejs等脚本语言。

      protocol_version=”1.0″

  1. 安装 PHP 版本,选用本地境遇的 php 版本。

    图片 11PHP
    版本设置

  2. XDebug 端口设置,这里设置成 php.ini 中 xdebug 配置的端口

    图片 12XDebug
    端口设置

  3. DBGp proxy 设置

    图片 13DBGp
    代理设置

  4. Servers 服务配置Servers 配置,点 +
    号新增加安顿。注意勾选路线相称,并安插项目所在本地绝对路线。

    图片 14Servers
    配置

  5. 编写运营/调节和测量检验配置

    图片 15Run/Debug
    编辑

    添加 Run/Debug 配置

    图片 16添加
    Run/Debug 配置

  6. PhpStorm
    展开央浼监听开启央浼监听![_]F9{FRS@L_8VIGE4KD@_9P.png]()

工具介绍:

  • XDebug相对于Eclipse + XDebug也会有比很多优势,将要文章陈诉。

Copyright 2002-2007 by Derick Rethans.

如上四个站点调节和测试则猛增安插就能够。

1. 安装Xdebug

Eclipse的装置就背着了。Xdebug安装的章程轻松,首先将下载到的文本重命名叫php_xdebug.dll
放置到PHP的ext/目录下,然后修正php.ini文件,在文书末尾加上下列几行:

[Xdebug]
; 钦点xdebug 增加文件的职务(路线请依照自身的情状做调治卡塔尔国
zend_extension_ts = “F:/library/php_xdebug-2.1.0-5.2-vc6.dll”
; 启用xdebug 远程调节和测验
xdebug.remote_enable = 1
; 以下xdebug 调试选项实际上是暗中认可值
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_mode = req
xdebug.remote_handler = dbgp

zend_zend_extension_ts中的ts表示线程安全,要是你的PHP实际不是线程安全请写成zend_extension。完整的布置项及表达见

保留php.ini后重启服务器,查看phpinfo(State of Qatar的出口,若在页面上能看出下边包车型大巴镜头则设置成功:

图片 17

调试Python程序

前边说过VIM +
DBGPavim作为DBGp合同的服务器,能够与XDebug同盟职业,也得以与ActiveState提供的Komodo
Python Remote Debugging
Client协同职业,完毕Python程序的调节和测验,具体步骤如下:

  1. 从这里下载安装Komodo
    Python Remote Debugging
    Client,把解压后的bin目录加到你的PATH路线中,注意bin目录下的pydbgp文件。
  2. 用VIM张开你供给调弄收拾的Python文件,F10设置断点,F5开行调节和测量检验监听。
  3. 由此pydbgp运营你的Python程序,如

     pydbgp -d 127.0.0.1:9009 test.py
    
    1. 注:这里的9009端口就一定于地点为PHP调节和测量检验时设置的xdebug.remote_port,要求和dbgPavimPort保持一致。
    2. 回来你的VIM窗口,将见到提醒音信为PEND-1。
    3. 按F5踏向调节和测试格局。

    上面包车型大巴:Dp命令相近适用于Python调试,下图为Windows 7下用GVIM +
    pydbgp调节和测验Python的截图。 图片 18

    ### VIM + DBGPavim相对于Eclipse + XDebug的优势

    比超级多服务器不会运行XServer,无法在服务器上运转Eclipse。若是在开荒职员职业机上运行Eclipse +
    XDebug,就一定于把DBGp服务器在劳作机上运维,你须求安装路线映射,相当于HTTP
    Server实施的一份代码在服务器上,Eclipse调节和测量检验时张开的是一份代码,在办事机上,要保险这两份代码能对应上须要映射路线。当程序层面很时辰,难点比非常的小,当程序层面大时,会相比较费心,并且要保管代码的一块,不然会串行。

    同期能够受到互连网防火墙之类的主题素材。

    VIM +
    DBGPavim也是援助远程调节和测量检验的,但同样防止不了路径映射的装置,如下:

    let g:dbgPavimPathMap = [['D:/works/php','/var/www'],]
    

如果xdebug.remote_connect_back利用了,其总是格局有个别分歧:

到此有所配置已经成功。

DBGPavim的详细使用参照他事他说加以侦查

VIM normal模式下

F5   启动调试监听,或者有可调试连接时进入调试模式。
F6  停止调试监听。
F8  切换dbgPavimBreakAtEntry的值,按这个键你可以看到状态栏提示信息在bae和bap之间切换,即是否在PHP程序入口处停下。
F10 在当前行设置或删除断点,在调试模式下同样适用。

调试方式下

F1   打开或关闭帮助窗口
F2  单步进入
F3  单步跳过
F4  单步退出
F5  继续执行直到下一个断点,如果后续没有断点就退出调试模式。
F6  停止调试,这个按键就导致VIM退出调试模式,并且停止调试监听。
F7  调试时执行php语句,按下F7后,用户可在变量查看窗口输入php语句,回车后执行。
F9  最大化某个子窗口,或者重置窗口布局。
F11 查看当前执行环境下的所有变量的值,在不同的堆栈层次,会有不同的结果。
F12 查看光标下的变量的值。

以上功能键为暗中认可配置,你若是习于旧贯超多浏览器的按钮设置,能够把下部的代码加入你的.vimrc中:

let g:dbgPavimKeyRun = '<F8>'
let g:dbgPavimKeyStepOver = '<F10>'
let g:dbgPavimKeyStepInto = '<F11>'
let g:dbgPavimKeyStepOut = '<F12>'
let g:dbgPavimKeyPropertyGet = '<F3>'
let g:dbgPavimKeyContextGet = '<F4>'
let g:dbgPavimKeyToggleBp = '<F9>'
let g:dbgPavimKeyToggleBae = '<F5>'
let g:dbgPavimKeyRelayout = '<F2>'

VIM命令,全体命令独有首先个假名叫大写。

:Bl  列出所有断点
:Bp 与F10功能相同  p   这个命令可用于快速调试当前文件,它实现了如下功能:

    1. 检查命令行下XDebug/pydbgp的设置是否正确
    2. 启动调试器监听
    3. 用php/pydbgp执行当前文件
  g <longfoo> 查看较长变量的值,比如:Pg $this->savings[3]
:Up 调用堆栈往上一级  n  调用堆栈往下一级
:Wc [$foo]  打开/关闭对变量$foo的监视。如果没有参数,就监视当前执行环境下的所有变量。
:We <foo> 打开/关闭对语句foo的监视,即每一单步后自动执行foo语句。
:Wl 列出所有被监视的变量或语句。
:Children <n> 对于数组默认显示前1024个元素,这个命令可以修改。  epth <n> 对于复杂变量,默认只显示下一层成员,这个命令可以设置限制多层。
:Length <n>   对于字符串变量,默认执行显示前1024个字符,这个命令可以设置显示长度。
  • 当URL变量XDEBUG_SESSION_START=name附加到URubiconL后,或通过POST传入相似名称值——Xdebug发出一cookie值”XDEBUG_SESSION”而该值为UMuranoL参数XDEBUG_SESSION_START值。Cookie值保质期为1钟头。DBGp左券也会将一律的值在连接到调节和测量检验客商端时传到初步数据包内的“idekey”属性。
  1. 安装 php_xdebug 扩大后,php.ini 配置 XDebug
    参数,目录参数配置成温馨条件的,别的参数表明机关百度或Google

DBGPavim相对于任何插件的优势

DBGPavim源于VIM开始的一段时期的一个DBGp插件

DBGPavim会监听全数来自DBGp客商端如XDebug、pydbgp的DBGp连接,不像别的插件只可以捕获第贰个三番五次。那对于不认为奇的WEB程序是必需的,因为前几天的叁回网页加载平日会接触四个HTTP必要,而咱们必要调和的恐怕源于内部的其余三个。
同期DBGPavim扶持只在断点处停下,其它的插件都以在入口处停下,须要程序员一步步追踪进去。那省了开荒人士十分大的分神,何况幸免失误后二遍次的重启调节和测量试验。

相信您也早就意识,DBGPavim可以与Windows下的GVIM一同干活,而且专门的职业的很好。

  <author><![CDATA[Derick Rethans]]></author>

127.0.0.1 e.com

静态IP/单一开垦

图片 19示例:e.com

      appid=”13202″

Xdebug的长途调节和测验器允许你检查数据构造,交互作用式地穿过和调整你的代码。该合同已经开放,名称为DBGp。该左券在xdebug第22中学落成,并代表旧版GDB形似合同并不再帮助。

五、访谈站点调节和测量检验。

Xdebug包涵使用cookie对浏览器运行追踪调节和测验会话功效。该专门的工作左近下边步骤:

2、       
倘若您想在浏览器调节和测量试验脚本,只要求UGTC4LussoL增添 XDEBUG_SESSION_START=session_name``参数。要代表GET参数也能够设置XDEBUG_SESSTION_START为POST参数,或是老板KIE参数。详细的情况请参考下一章节。

  1. 浏览器访问调节和测量试验代码中打多少个断点,浏览器中拜望 e.com。

    图片 20Paste_Image.png

  2. Postman 中拜候调节和测量检验Postman 中 post、put
    等恳求调节和测量试验需求增多暗许参数:XDEBUG_SESSION_START=PHPSTORM

    图片 21post
    必要调节和测验图片 22post
    乞请调节和测验结果

客户端

  1. 配置本地站点域名示例域名: e.com,绑定 host。
  • XDEBUG_SESSION_START 或XDEBUG_SESSION cookie
    一旦设置,Xdebug就可以尝试连采取调节和测量检验顾客端。
  • 要适度可止调试会话(和销毁附带cookie卡塔尔     
    只需简单地增加UTiguanL参数XDEBUG_SESSION_STOP。Xdebug然后不再尝试创制连接到惊人调解客商端。

二、服务器配置

admin

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注