xdebug_xdebug配置 - CSDN
精华内容
参与话题
  • xdebug安装和使用详解

    千次阅读 2014-11-29 23:31:25
    首先下载xdebug组件,请到http://www.xdebug.org/download.php下载相对应的组件 下载组件注意事项: 首先打印phpinfo()信息 1.先确定PHP的版本,如果是5.2之前的,在php.ini配置文件中,组件的引入使用zend_...

    首先下载xdebug组件,请到http://www.xdebug.org/download.php下载相对应的组件

    下载组件注意事项:

    首先打印phpinfo()信息

    1.先确定PHP的版本,如果是5.2之前的,在php.ini配置文件中,组件的引入使用zend_extension_ts,如果是5.3以上的,使用zend_extension

    2.确定是VC6还是VC9


    在php.ini文件中写配置信息

    zend_extension=D:\wamp\bin\php\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll

    [Xdebug]

    ;是否开启自动跟踪
    xdebug.auto_trace = On
    ;是否开启异常跟踪
    xdebug.show_exception_trace = On
    ;是否开启远程调试自动启动
    xdebug.remote_autostart = On
    ;是否开启远程调试
    xdebug.remote_enable = On
    ;允许调试的客户端IP
    xdebug.remote_host=192.168.1.107
    ;远程调试的端口(默认9000)
    xdebug.remote_port=9000
    ;调试插件dbgp
    xdebug.remote_handler=dbgp
    ;是否收集变量
    xdebug.collect_vars = On
    ;是否收集返回值
    xdebug.collect_return = On
    ;是否收集参数
    xdebug.collect_params = On
    ;跟踪输出路径
    xdebug.trace_output_dir="c:\xdebug"
    ;是否开启调试内容
    xdebug.profiler_enable=On
    ;调试输出路径
    xdebug.profiler_output_dir="c:\xdebug"


    //下面这些配置信息是用来调试代码错误时,传递了参数打印到页面上

    xdebug.dump_once=on
    xdebug.dump_globals=on
    xdebug.dump_undefined=on
    xdebug.dump.SERVER=REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT
    xdebug.dump.REQUEST=*


    注意事项:

    1.xdebug.profiler_output_dir="c:\xdebug"配置中需要手动的创建文件夹

    2.如果配置没有成功,可以试试将配置信息复制到apache中的php.ini配置文件中,然后重启apache

    3.去除PHP加速模块


    使用phpinfo()可以查看xdebug是否安装成功


    如果看到图片信息,说明xdebug安装成功


    IDE断点配置:






    单步跳入:step into调试,进入语句中的子函数(方法)进行步进调试
    单步跳过:step over调试,跳过该行语句,进入下一行进行调试
    单步返回:step out调试,跳出当前函数,进入调用源进行调试

    展开全文
  • phpstorm配置xdebug

    2019-01-24 09:47:41
    [XDebug] xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug" xdebug.trace_output_dir="D:\phpStudy\tmp\xdebug" zend_extension="D:\phpStudy\php\php-5.6.27-n...

    在安装目录下找到php.ini,类似于D:\xampp\php\php.ini,并打开。

    [XDebug]
    xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"
    xdebug.trace_output_dir="D:\phpStudy\tmp\xdebug"
    zend_extension="D:\phpStudy\php\php-5.6.27-nts\ext\php_xdebug.dll"

    xdebug.profiler_append = 0
    ;效能监测的设置开关

    xdebug.profiler_enable = 1

    xdebug.profiler_enable_trigger = 0

    ;生成的效能监测文件的名字

    xdebug.profiler_output_name ="cache.out.%t-%s"

    ; IDE与XDebug协作

    xdebug.remote_enable = 1

    xdebug.remote_handler = "dbgp"

    xdebug.remote_host = "127.0.0.1"

    xdebug.remote_port = 9900

    xdebug.idekey = phpstorm-xdebug

    展开全文
  • 参考 https://blog.csdn.net/daizikai77/article/details/72103674 https://blog.csdn.net/longwenxia1234/article/details/77170269 其它操作跟上面两个说明的差不多,主要需要注意下面的两点 注意几点 ...

    XAMPP xdebug 配置(系统自带php无法正常使用 xdebug 扩展)

    参考
    https://blog.csdn.net/daizikai77/article/details/72103674
    https://blog.csdn.net/longwenxia1234/article/details/77170269

    如果你能把这个配置完成了。那mac上开发环境的大部分问题基本都可以解决了。
    过程是这样的:
    为了用 xdebug 插件,舍弃系统自带的 php 环境,换成 XAMPP 集成环境,为了安装 xdebug 插件,需要知道如何关闭mac系统的 rootLess,然后,为了能使用正确的php环境,需要知道怎么切换php环境的目录,为了编译 xdebug 插件,需要安装 autoconf ,为了安装 autoconf 需要安装 brew, 为了安装 brew 需要知道怎么连接外网,如何使用代理。OK,这一套下来,如果你都能理解了,那就很不错了。我会把这些问题都写在日志里。

    最近把Mac系统升级了,以前生成的 xdebug.so 文件也不能用了。会提示这样的错误。
    当前版本 macOS 10.14 Mojave
    下图是系统自带php在正确配置 xdebug 后 出现的错误,至今没找到解决方案。
    xdebug.so 错误提示

    最终,听取网友建议,不再使用系统自带的php了,改用 XAMPP ,不了解的点这里这里这里 ,然后又重新下载安装了一遍xdebug,这次把教程补全,过程挺曲折的。


    读完这篇日志,你会完成的东西:

    1. 配置 terminal 的 php 环境 到 xampp 中的 php上 参阅:https://blog.csdn.net/KimBing/article/details/86532231
    2. 关闭 Mac rootLess 机制
    3. 给 mac 安装比较流行的 brew 程序包管理工具,类似 centOSubuntu 的 yum
    4. XAMPP 的所有操作 参阅:https://blog.csdn.net/KimBing/article/details/86532617

    1. 下载合适你mac的 xdebug 文件(手动)

    进入这个网址 https://xdebug.org/download.php 下载
    截至现在 2019-01-18 最新的版本是这个
    https://xdebug.org/files/xdebug-2.7.0beta1.tgz

    安装过程翻译

    1. 下载 xdebug-2.7.0beta1.tgz
    2. 解压文件 tar -xvzf xdebug-2.7.0beta1.tgz
    3. 运行: cd xdebug-2.7.0beta1
    4. 运行: phpize
      应该显示类似的结果,如果不,请移到下面的第二条
      Configuring for:

      Zend Module Api No: 20160303
      Zend Extension Api No: 320160303
    5. 运行 ./configure
    6. 运行 make

    2. 解决 phpize 不出现 zend module API No 的问题

    进行第4步的时候,我的刚开始是这样的

    $ phpize 
    grep: /usr/include/php/main/php.h: No such file or directory
    grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
    grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
    Configuring for:
    PHP Api Version:        
    Zend Module Api No:     
    Zend Extension Api No:  
    

    这样是不正确的,解决这个问题需要

    1)关闭 Mac 的 RootLess 机制

    RootLess 是什么 http://www.mayanlong.com/archives/2016/348.html

    关机,开机,在听到开机声后,点击键盘 Command + R 进入 恢复模式 这个过程开机会比较慢,属于正常。
    开机后,点上面菜单栏,找到终端应用 ,输入下面指令,正常重启

    $ csrutil disable
    

    再在root 模式下执行下面指令(不关闭 rootLess 将无法执行这个指令,即使是在Root 模式下),这个需要你电脑上已经安装了 Xcode,如果没有,需要去商店里搜索下载一下,免费的,6G左右。

    $ ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include  /usr/include
    # 用 tap 完成路径的填充,因为不同版本的系统对应不同 MacOSX 路径。
    

    2)此时 phpize 正常显示

    kyle-mbp:xdebug-2.7.0beta1 Kyle$ phpize
    Configuring for:
    PHP Api Version:         20180731
    Zend Module Api No:      20180731
    Zend Extension Api No:   320180731
    

    3) 安装 autoconfig automake

    如果运行 phpize 的时候,下面还有其它的提示,提示没有autoconf,就需要执行下面的操作

    需要先安装 brew 查看官网 https://brew.sh/
    注意:执行这个命令需要用外网,不然会出错

    如果有 socks,把终端的代理临时设置成 socks5,这个只是临时用,在关闭窗口后就失效

    export ALL_PROXY=socks5://127.0.0.1:1080
    
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    安装后成功的提示是这样的:
    在这里插入图片描述
    sucess
    安装 autoconf

    kyle-mbp:xdebug-2.6.1 Kyle$ brew install autoconf
    ==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.mojave.bottle.4.tar.gz
    ######################################################################## 100.0%
    ==> Pouring autoconf-2.69.mojave.bottle.4.tar.gz
    ==> Caveats
    Emacs Lisp files have been installed to:
      /usr/local/share/emacs/site-lisp/autoconf
    ==> Summary
    ?  /usr/local/Cellar/autoconf/2.69: 71 files, 3.0MB
    

    安装 automake

    kyle-mbp:xdebug-2.6.1 Kyle$ brew install automake
    ==> Downloading https://homebrew.bintray.com/bottles/automake-1.16.1_1.mojave.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring automake-1.16.1_1.mojave.bottle.tar.gz
    ?  /usr/local/Cellar/automake/1.16.1_1: 131 files, 3.4MB
    

    3. 复制xdebug.so

    接着第一条的第4小条进行下去,当成功后,会显示
    在这里插入图片描述
    此时,在当前目录下 module 里面会有一个 xdebug.so 文件,把它复制到一个地方,我的复制到我自己指令的目录下了,这个目录在后面的 php.ini 配置文件中会用到。

    cp /module/xdebug.so  /opt/php71/extensions/
    

    4. 配置 php.ini

    XAMPP 中的 php.ini/Applications/XAMPP/xamppfiles/etc/php.ini

    在末尾添加以下内容:

    [xdebug]
    zend_extension=/opt/php71/extensions/xdebug.so 
    ;上面的路径就是在第3步中你复制的 xdebug.so 的路径
    
    xdebug.remote_autostart = On
    
    ;是否开启远程调试
    xdebug.remote_enable = On
    
    ;允许调试的客户端IP
    xdebug.remote_host=localhost
    
    ;远程调试的端口(默认9000)
    xdebug.remote_port=9000
    
    ;调试插件dbgp
    xdebug.remote_handler=dbgp
    
    ;是否收集变量
    xdebug.collect_vars = On
    
    ;是否收集返回值
    xdebug.collect_return = On
    
    ;是否收集参数
    xdebug.collect_params = On
    
    ;是否开启调试内容
    xdebug.profiler_enable=On
    
    ;设置php显示的级别长度
    xdebug.var_display_max_depth=10
    
    xdebug.idekey = PHPSTORM
    
    ;关闭错误信息显示
    display_errors = Off
    html_errors = Off
    

    配置完成后 terminal 中执行以下指令重启 apache 服务器,使配置生效

    /Applications/XAMPP/xamppfiles/xampp  restartapache
    

    再在运行 php --version
    会看到这样的结果,里面会提到已关联的插件,说明插件安装成功

    sh-3.2# php --version
    PHP 7.3.0 (cli) (built: Dec 11 2018 01:01:47) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
        with Xdebug v2.7.0beta1, Copyright (c) 2002-2018, by Derick Rethans
    

    xammp 相关的重启说明:

    sh-3.2# ./xampp --help
    Usage: xampp <action>
    
    	start         Start XAMPP (Apache, MySQL and eventually others)
    	startapache   Start only Apache
    	startmysql    Start only MySQL
    	startftp      Start only ProFTPD
    
    	stop          Stop XAMPP (Apache, MySQL and eventually others)
    	stopapache    Stop only Apache
    	stopmysql     Stop only MySQL
    	stopftp       Stop only ProFTPD
    
    	reload        Reload XAMPP (Apache, MySQL and eventually others)
    	reloadapache  Reload only Apache
    	reloadmysql   Reload only MySQL
    	reloadftp     Reload only ProFTPD
    
    	restart       Stop and start XAMPP
    	security      Check XAMPP's security
    
    	enablessl     Enable SSL support for Apache
    	disablessl    Disable SSL support for Apache
    
    	backup        Make backup file of your XAMPP config, log and data files
    
    	oci8          Enable the oci8 extenssion
    
    	fix_rights    Resets file permissions.
    

    5. 配置 phpStorm

    配置 php 执行文件路径

    这里需要设置phpStorm使用 XAMPPphp,设置如下位置,如果你之前位置设置正确,这里右下角会显示当前xdebug 版本
    php setup
    看图说话就可以了,端口要设置成 9000php.ini中的端口一致
    xdebug setup

    dbgp setup

    sever


    6. 浏览器插件

    Chrome 应用商店搜索下载 Xdebug 插件

    需要ss帐号的可以email 我 kylebing###163.com(###换@),我可以提供临时帐号,仅供学习用

    download xdebug

    配置 xdebug 插件

    在这里插入图片描述


    7. 正常使用

    phpStorm 中把这个小虫子点亮,开始调试,在文件中设置断点。
    start xdebug

    在 Chrome 中把虫子也点亮,就可以调试了。
    Chrome extentsion xdebug


    8. 成功

    xdebug php 调试成功

    展开全文
  • XDEBUG 从入门到精通

    2020-10-25 12:36:21
    前言 Xdebug是PHP的扩展,用于协助调试和开发。 它包含一个用于IDE的调试器 ...但不推荐在生产环境中使用xdebug,因为他太重了。 安装 PECL 安装 pecl install xdebug zend_extension="/usr/local/php/modules/xdebug.

    前言

    Xdebug是PHP的扩展,用于协助调试和开发。

    • 它包含一个用于IDE的调试器
    • 它升级了PHP的var_dump()函数
    • 它为通知,警告,错误和异常添加了堆栈跟踪
    • 它具有记录每个函数调用和磁盘变量赋值的功能
    • 它包含一个分析器
    • 它提供了与PHPUnit一起使用的代码覆盖功能。

    猿生必备的工具。
    但不推荐在生产环境中使用xdebug,因为他太重了。

    安装

    PECL 安装

    pecl install xdebug
    zend_extension="/usr/local/php/modules/xdebug.so"
    

    源码包安装

    https://xdebug.org/download.php 寻找对应的包

    wget xxx.gz
    ./configure
    make && make install
    zend_extension="/usr/local/php/modules/xdebug.so"
    

    Docker安装

    以下为php dockerfile内部分内容

    RUN pecl install xdebug
    RUN echo 'zend_extension=xdebug.so' >> /usr/local/etc/php/conf.d/xdebug.ini
    

    工作原理

    IDE(如PHPStorm)已经集成了一个遵循BGDP的XDebug插件,当开启它的时候, 会在本地开一个XDebug调试服务,监听在调试器中所设置的端口上,默认是9000,这个服务就会监听所有到9000端口的链接。

    当浏览器发送一个带 XDEBUG_SESSION_START 的参数的请求到服务器时,服务器接受后将其转到后端的php处理,如果php开启了XDebug模块,则会将debug信息转发到客户端IP的IDE的调试端口上。

    当参数或者cookie信息中不带 XDEBUG_SESSION_START ,则不会启动调试。这就为后续在浏览器中添加开关提供了可能。

    基本配置

    一般情况下,你都只需了解,无需修改。

    名称 类型 默认值 注解
    xdebug.default_enable boolean 1 堆栈跟踪,默认开启,是xdebug基础功能之一
    xdebug.force_display_errors integer 0 默认关闭,如果这个设置设置为1,那么无论PHP的display_errors设置为什么,都将始终显示错误。
    xdebug.force_error_reporting integer 0 默认关闭,允许强制显示某些错误
    xdebug.halt_level integer 0 默认关闭,设置接收某些指定错误
    xdebug.max_nesting_level integer 256 控制无限递归(死循环)的保护机制,默认是256
    xdebug.max_stack_frames integer -1 控制有多少堆栈帧显示在堆栈跟踪中,在PHP错误堆栈跟踪的命令行中,以及在浏览器中显示HTML跟踪。
    xdebug.scream boolean 0 默认关闭,如果该设置为1,那么Xdebug将禁用@(关闭)操作符,以便不再隐藏通知、警告和错误。

    具体内容请移步官网 https://xdebug.org/docs/basic

    打印配置

    Xdebug将替换PHP的var_dump()函数来显示变量。Xdebug版本包含了不同类型的不同颜色,并对数组元素/对象属性的数量、最大深度和字符串长度进行了限制。还有一些其他函数也处理变量显示。

    名称 类型 默认值 注解
    xdebug.cli_color integer 0 cli模式下输入结果是否设置颜色
    xdebug.overload_var_dump boolean 2 是否允许xdebug重载var_dump函数
    xdebug.var_display_max_children integer 128 var_dump 对数组对象子级的显示层数限制
    xdebug.var_display_max_data integer 512 var_dump 对结果长度的限制
    xdebug.var_display_max_depth integer 3 var_dump 对默认显示嵌套的层数的限制

    具体内容请移步官网 https://xdebug.org/docs/display

    堆栈跟踪配置

    当Xdebug被激活时,当PHP决定显示一个通知、警告、错误等时,它将显示一个堆栈跟踪。堆栈跟踪显示的信息以及它们的显示方式可以配置为适合您的需要。

    名称 类型 默认值 注解
    xdebug.cli_color integer 0 cli模式下输入结果是否设置颜色
    xdebug.collect_includes boolean 1 控制Xdebug是否应该将include()、include_once()、require()或require_once()中的文件名写入跟踪文件
    xdebug.collect_params integer 0 该设置默认为0,控制当函数跟踪或堆栈跟踪记录函数调用时,Xdebug是否应该收集传递给函数的参数
    xdebug.collect_vars boolean 0 这个设置告诉Xdebug在特定范围内使用哪些变量。由于Xdebug必须逆向工程PHP的操作码数组,这种分析可能相当缓慢。对于使用xdebug.collect_params,此设置不会记录不同变量的值。只有当您希望使用xdebug_get_declared_vars()时,才需要启用此设置。
    xdebug.dump.* string empty * 可以是任何COOKIE、文件、GET、POST、REQUEST、SERVER、SESSION。这七个设置控制在发生错误时显示来自超全局变量的哪些数据。
    xdebug.dump_globals boolean 1 当该设置设置为true时,Xdebug将添加通过Xdebug.dump配置的超级全局变量的值*到屏幕上的堆栈跟踪和错误日志。
    xdebug.dump_once boolean 1 控制是否应该在所有错误情况(设置为0)上转储超全局变量的值,或只在第一个错误情况下转储超全局变量的值(设置为1)
    xdebug.dump_undefined boolean 0 如果您想从超全局变量中转储未定义的值,您应该将该设置设置为1,否则将其设置为0。
    xdebug.file_link_format string 文件链接格式

    具体内容请移步官网 https://xdebug.org/docs/stack_trace

    函数调试配置

    Xdebug允许记录所有函数调用,包括参数和以不同格式返回的值。

    名称 类型 默认值 注解
    xdebug.auto_trace boolean 0 当将此设置设置为ture时,将在脚本运行之前启用函数调用的跟踪
    xdebug.collect_assignments boolean 0 该设置默认为0,控制Xdebug是否应该向函数跟踪添加变量赋值。
    xdebug.collect_includes boolean 1 该设置默认为1,控制Xdebug是否应该将include()、include_once()、require()或require_once()中的文件名写入跟踪文件。
    xdebug.collect_params integer 0 该设置默认为0,控制当函数跟踪或堆栈跟踪记录函数调用时,Xdebug是否应该收集传递给函数的参数。
    xdebug.collect_return boolean 0 该设置默认为0,控制Xdebug是否应该将函数调用的返回值写入跟踪文件。
    xdebug.show_mem_delta integer 0 Xdebug生成的跟踪文件将显示函数调用之间内存使用的差异
    xdebug.trace_format integer 0 跟踪文件的格式
    xdebug.trace_options integer 0 当设置为“1”时,跟踪文件将被附加到后面的请求中,而不是被覆盖。
    xdebug.trace_output_dir string /tmp 写入跟踪文件的目录,确保PHP运行的用户具有该目录的写权限。

    具体内容请移步官网 https://xdebug.org/docs/execution_trace

    垃圾收集统计信息

    Xdebug的内置垃圾收集统计信息分析器允许您查明PHP内部垃圾收集器何时触发、它能够清理多少变量、它花费了多长时间以及实际释放了多少内存。

    名称 类型 默认值 注解
    xdebug.gc_stats_enable bool false 如果启用此设置,则垃圾收集运行的统计信息将自动收集到使用xdebug.gc_stats_output_dir设置的给定目录中, 并使用由xdebug.gc_stats_output_name配置的自动生成的名称。
    xdebug.gc_stats_output_dir string /tmp 将写入垃圾收集统计信息输出的目录,确保将运行PHP的用户具有对该目录的写入权限。无法使用ini_set() 在脚本中设置此设置。
    xdebug.gc_stats_output_name string gcstats.%p 此设置确定用于将垃圾回收统计信息转储到的文件的名称。该设置使用格式说明符指定格式,与sprintf() 和strftime() 非常相似。有几种格式说明符可用于格式化文件名。

    具体内容请移步官网 https://xdebug.org/docs/garbage_collection

    远程调试配置

    Xdebug为与运行PHP脚本交互的调试器客户机提供了一个接口。

    名称 类型 默认值 注解
    xdebug.extended_info integer 1 控制Xdebug是否应该为PHP解析器强制执行’extended_info’模式; 这允许Xdebug使用远程调试器执行文件/行断点。在跟踪或分析脚本时,您通常希望关闭此选项,因为PHP生成的oparray将增加大约三分之一的大小,从而减慢脚本速度。无法使用ini_set()在脚本中设置此设置,但只能在php.ini中设置。
    xdebug.idekey string complex 控制哪些IDE Key Xdebug应传递给DBGp调试器处理程序。则与客户端通信的key
    xdebug.remote_addr_header string “” 该值将用作$SERVER超全局数组中的键,以确定用于查找用于“连接回”的IP地址或主机名的标头
    xdebug.remote_autostart boolean 0 您需要使用特定的HTTP GET / POST变量来启动远程调试
    xdebug.remote_connect_back boolean 0 如果你不设置ip地址,就只能靠xdebug自己找了,Xdebug将尝试连接到发出HTTP请求的客户端。它检查KaTeX parse error: Double subscript at position 16: _SERVER['HTTP_X_̲FORWARDED_FOR']…_SERVER[‘REMOTE_ADDR’]变量以找出要使用的IP地址
    xdebug.remote_cookie_expire_time integer 3600 设置cookie的生命周期
    xdebug.remote_enable boolean 0 是否开启远程调试
    xdebug.remote_handler string dbgp 调试的通信协议
    xdebug.remote_host string localhost 调试的网络地址,开启了remote_connect_back后,当前配置就无效了
    xdebug.remote_log string 调试的日志
    xdebug.remote_port integer 9000 调试的端口
    xdebug.remote_timeout integer 200 调试的通信链接的等待时间

    具体内容请移步官网 https://xdebug.org/docs/remote

    官方链接

    全部配置请移步官网 https://xdebug.org/docs/all_settings
    全部函数请移步官网 https://xdebug.org/docs/all_functions

    PHPSTORM DEBUG

    网络上的配置DEBUG文章太杂太乱,在PHPSTROM跳来跳去的,实在让人心烦意乱,本章重新整理描述。

    配置

    其实在PHPSTROM中已经出了很详细的教程,是吧?只不过大部分人都会直接百度/Google,查询是个好习惯,但要视情况而定。

    Languages & Frameworks > PHP > Debug

    第一步

    下载XDEBUG扩展,本章开头已经讲过了,这里不再阐述。
    在安装完成后,PHPSTROM提供了验证脚本。脚本地址为 https://gist.github.com/litzinger/8fd06ab6e5033b7ff8d8
    正常情况下检测成功的样子是

    看到这个你就可以放心的去debug了。

    第二步

    装个浏览器插件,用户请求监听。这个东西唯一的作用就是方便了debug,正常如果不安装的话你需要通过GET传参XDEBUG_SESSION_START=ID_KEY才可以,安装插件后就不需要了。

    你可以自行选择是否开启debug,以下为浏览器插件列表

    浏览器 下载
    Chrome Xdebug Helper
    Firefox The easiest Xdebug or Xdebug Helper
    Safari Xdebug Toggler
    Opera Xdebug launcher
    Internet Explorer PhpStorm bookmarklets generator

    第三步

    开启监听即可。

    你可以直接点击图片上的监听按钮。

    到现在为止,就配置好了IDE。

    第四步

    创建DEBUG配置文件,根据每个项目都要配置。这步你跑不了。

    你看,PHPSTORM非常人性化,在每一步都会给你出个简单的教程来描述如何配置DEBUG。

    添加一个Server和IDE key(xdebug.idekey) 就可以进行调试了。

    总结

    总结以下IDE配置DEBUG的步骤,实际很简单。

    1. 下载安装debug
    2. 验证是否通信正常
    3. 添加浏览器插件 (可省略)
    4. 配置运行文件
    5. 愉快的debug

    这里还要说明下,如果你是不需要访问本机调试一些类或者代码块,你只需要在本机上安装好XDEBUG,上述配置全部省略,直接点小虫子图标即可调试。DEBUG端口默认是9000,如果配置文件内修改了,当然在IDE内也需要修改下。

    调试

    介绍下实际DEBUG过程中PHPSTORM面板的按钮都是做什么用的。当你启动监听后,你将会看到如下图

    根据上图图标位置,以x,y坐标的方式描述每个图标的功能。

    图标 位置 (x,y) 功能
    0,0 重新执行DEBUG (Rerun test.php)
    0,1 跳转到原调试文件 (Show execution point)
    0,2 跳到下一行 (Step over)
    0,3 执行下一步 (Step info)
    0,4 跳入库、构造函数等方法或类中 (Force Step Info)
    0,5 执行函数体或类方法,如果在最外层则结束本次调试 (Step out)
    0,6 跳到当前节点的下个断点 (Run to Cursor)
    0,7 执行修改变量或返回的结果用于二次调试(Evaluate arbitrary expression)
    0,8 显示值的地址 (Show Values Addresses)
    0,9 是否显示空的值 , 默认是不显示
    0,10 跳到下个断点 (Add method to skip list)
    1,0 重新执行DEBUG (Resume Program)
    2,0 停止DEBUG(Step process)
    3,0 查看和管理所有的断点 ( View and manage all breakpoints)
    4,0 忽略所有断点 (Mute breakpoints)

    其他

    Docker PHP XDEBUG

    部分人在本机装了Docker,容器中运行这PHP,这个时候该如何进行DEBUG呢?如果认真看本篇文章,你会发现十分的简单。本身XDEBUG就是远程调试。首先你要保证

    • 容器做了端口映射到本机80
    • 容器内项目目录做了磁盘挂载

    将容器PHP XDEBUG 中

    xdebug.remote_host=local_ip
    

    即可,也不用担心hosts文件的问题

    本机IP = 127.0.0.1 = localhost
    

    这样配置完成后,就可以当容器不存在,与本机调试一样。

    致谢

    感谢你看到这里,希望本章内容可以帮到你,谢谢。

    展开全文
  • Xdebug各种问题详解

    2019-04-01 16:05:43
    踩坑一:debug运行后发现 File path is not mapped to … 经过排查后发现 Absolute path on the Server 未设置 将其设置为对应的路径即可 ...踩坑二:默认不勾选 Break at first line in ...
  • xdebug 原理篇

    千次阅读 2018-08-09 16:20:51
    原文地址:...xdebug 对于许多 phper 应该一点也不陌生。说来惭愧,对于常年使用 var_dump,echo,现在又多了一个dd ,来调试程序的猿来说,这...
  • xdebug在linux下的安装教程

    千次阅读 2015-09-27 09:20:16
    本文主要讲述如何在linux...1、首先下载xdebug: wget http://www.xdebug.org/files/xdebug-2.3.3.tgz 2、解压缩: tar zxvf xdebug-2.3.3.tgz 3、进入解压的目录: cd xdebug-2.3.3 4、建立外挂模块: phpize
  • PHP调试跟踪之XDebug使用总结

    万次阅读 2016-04-24 13:49:08
    Xdebug是一个开源的PHP程序调试工具,可以使用它来调试、跟踪及分析程序运行状态。当然,Xdebug需要结合PHP的编辑工具来打断点、跟踪、调试及分析,比较常用的PHP的Xdebug调试环境:Vim + Xdebug。 • 安装配置 • ...
  • Xdebug

    2019-06-26 18:15:00
    Xdebug的工作原理可以总结为下面几个步骤 1)IDE(比如PhpStorm,下文所述的客户端)中已经集成了一个遵循BGDp协议(一个专门用来调试的协议)的Xdebug插件。当要debug的时候,点击一些IDE的某个按钮,启动这个插件...
  • PHP xdebug 断点调试

    万次阅读 2018-08-25 21:48:35
    phpstorm配置xdebug支持 google chrome添加phpstorm支持、debug调试 postman添加cookie,支持断点调试 php.ini添加xdebug模块 在php.ini文件添加xdebug配置参数 [xdebug] zend_extension ="D:/wamp64/bin...
  • -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n JAVA的调试方法如下: 1。首先支持JVM,并设置参数,使之工作在DEBUG模式下,加入参数:-Xdebug -Xrunjdwp,transport=dt_socket,server=y,...
  • xdebug

    2018-10-23 18:48:28
    xdebug 调试
  • xdebug helper chrome插件是一款PHP CHROME调试插件,与Zend Studio,XAMPSERVER协同工作,易于调试、分析和扩展Xdebug跟踪,使用也很简单,打开谷歌浏览器,几步就能解决。有需要的赶快下载吧! 使用方法:解压后,...
  • Xdebug helper

    热门讨论 2020-07-28 23:32:22
    压缩包含四个版本,xdebug helper for chrome,下载解压后选择一个直接安装,也可以直接拖入浏览器扩展程序直接安装,适用于谷歌,360极速浏览器本人测试也是OK的。
  • xdebug是一个php扩展,官方地址:https://xdebug.org/index.php,用于帮助开发者调试代码,本文以目前(2018年3月12日)最新的2.6版本为列来讲解,她具备这些功能:代替php的错误提示:在提示中加入配色以强调不同...
  • 无法配置Xdebug

    2019-09-24 10:27:24
    Ok, great, I just got the latest Xdebug version working, but my <code>var_dump</code>'s still look awful... Here is what they look like: <pre><code>array(3) { [0]=> string(4) "text" [1]=> ...
  • XDebug

    2015-10-01 15:26:22
    XDebug的下载可以到 http://xdebug.org/download.php 下载 XDebug的配置, 这个主要是在PHP.ini文件中进行配置,具体需要配置的项目如下: [Xdebug] zend_extension = "C:/php/ext/php_xdebug-2.2.3-5.4-vc9.dll"...
  • Xdebug配置选项

    千次阅读 2016-05-23 22:41:10
    Xdebug配置选项 最近在使用Xdebug,现在把所有配置文件记录下来,以便以后查阅,现阶段我的配置: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
  • xdebug参数说明

    2019-07-03 09:14:49
    ;;;;;;;;;;... xdebug基本功能,如堆栈跟踪,递归错误安全输出,时间内存跟踪等;...# 自动启用,如果需要临时关闭,使用xdebug_disable(),当使用此项时,error时会显示详细堆栈信息;xdebug.xdebug_enable=1;;#...
  • sublime xdebug 配置

    千次阅读 2019-11-27 10:46:04
    xdebug.sublime-setting配置------------ { // For remote debugging to resolve the file locations // it is required to configure the path mapping // with the server path as key and local path ...
1 2 3 4 5 ... 20
收藏数 20,767
精华内容 8,306
关键字:

xdebug