简介

XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具) 可以用来跟踪,调试和分析PHP程序的运行状况 功能强大的神器,对审计有非常大的帮助。 官网:http://www.xdebug.com/download.php

XDebug配置

日志

  1. xdebug.trace_output_dir:日志追踪输出目录
  2. xdebug.trace_output_name:日志文件名,xdebug提供了一系列的标识符,生成相应格式的文件名。
  3. xdebug.trace_output_name:记录添加到文件中方式:1=追加(如果存在该文件);0default)=覆盖(如果存在该文件)

显示数据

  1. xdebug.collect_params
  2. 非零值=控制function的参数显示选项
  3. 0 = 不显示
  4. 1 = 参数类型,值(例如:array(9))
  5. 2 = 同上1,只是在CLI模式下略微有区别
  6. 3 = 所有变量内容
  7. 4 = 所有变量内容和变量名
  8. xdebug.collect_return
  9. 1 = 显示function返回值。Default 0 不显示。
  10. 1 = 显示当前作用域使用了哪些变量,显示变量名,该选项不会记录变量的值。
  11. 1 = 添加一行显示变量赋值(若为1,刑如$a=1;这类Assignment Expression会在trace文件里显示)

格式

  1. xdebug.trace_format:日志追踪输出目录
  2. 0 = 人可读,从左至右每列分别表示:时间点、内存、内存差(需要设置xdebug.show_mem_delta=1),等级,函数名,函数参数
  3. 1 = 机器可读[1],需要借助第三方app,例如:xdebug trace file parser 或者 xdebug trace viewer
  4. 2 = html格式,即table,用brower打开,显示table

行为

追踪方式有2种,一种是自动追踪,所有php脚本运行时,都会产生trace文件;另一种是触发方式追踪。

  1. xdebug.auto_trace
  2. 1 = 打开自动追踪
  3. xdebug.trace_enable_trigger 注:该特性只能在2.2+版本能设置
  4. 1 = 使用xdebug_trace GET/POST触发追踪,或者设置Cookie xdebug_trace为了避免每次请求时,都会生成相应trace追踪文件,你需要把auto_trace设置为0

配置php.ini

找到php.ini所在的目录,在该文件的最后添加以下文本(如果已存在,要把前面的分号;去掉)

  1. [XDebug]
  2. zend_extension="C:\phpstudy_pro\Extensions\php\php5.4.45nts\ext\php_xdebug.dll"//Xdebug存放路径
  3. xdebug.auto_trace = 1
  4. xdebug.auto_output_dir = "C:/phpstudy_pro/Extensions/tmp/xdebug"
  5. xdebug.trace_format = 0
  6. xdebug.trace_options = 0
  7. xdebug.collect_params = 4
  8. xdebug.collect_return = 1
  9. xdebug.collect_vars = 1
  10. xdebug.collect_assignments = 1
  11. xdebug.profiler_append = 0
  12. xdebug.profiler_enable = 1//性能优化,关闭(不关闭,会以约每分钟几百M的速度产生大量日志文件,用不上一天你的硬盘就哭了)
  13. xdebug.profiler_enable_trigger = 0
  14. xdebug.profiler_output_dir = "C:/phpstudy_pro/Extensions/tmp/xdebug"
  15. xdebug.profiler_output_name = "cache.out.%t-%s"
  16. xdebug.remote_enable=1//是否允许远程终端,这个必须开启
  17. xdebug.remote_handler= "dbgp"
  18. xdebug.remote_host="127.0.0.1"

保存,重启服务器 查看Xdebug是否开启成功,打印一下phpinfo即可,浏览器访问在phpinfo中查看xdebug配置。

XDebug的配置和使用的更多相关文章

  1. Zend Studio XDebug调试配置

    最近在配置zend studio时找了些资料,发现了这个,说的比较详细 搭建Zend Studio 10.5 和XDebug 环境,试图进行 Drupal的调试, 经历了一些困难,但是最终解决了问题, ...

  2. PHP调试工具Xdebug安装配置教程

    说道PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...

  3. IDEA+PHP+XDebug调试配置

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

  4. Mac+Docker环境下xdebug的配置

    由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...

  5. PHP 调试工具Xdebug安装配置

    ## PHP 调试工具Xdebug安装配置 一.Xdebug 介绍 Xdebug是一个开源的PHP程序调试工具,可以使用它来调试.跟踪及分析程序运行状态.当然,Xdebug需要结合PHP的编辑工具来打 ...

  6. 本地环境 XAMPP+phpStorm+XDebug+chrome配置和断点调试 注册方法

    我的安装环境:XAMPP版本号V3.1.0 ;phpStorm版本8.0.3;windowsxp 32bit.您老人家先过目一下,不然怕影响意义. XAMPP.phpStorm 都直接安装在了D盘根目 ...

  7. PHP性能调优---PHP调试工具Xdebug安装配置教程

    说到PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...

  8. php xdebug的配置、调试、跟踪、调优、分析

    xdebug 的 profiler 是一个强大的工具,它能分析 PHP 代码,探测瓶颈,或者通常意义上来说查看哪部分代码运行缓慢以及可以使用速度提升.Xdebug 2 分析器输出一种兼容 cacheg ...

  9. XDebug安装配置教程

    笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). 转载http://www.jb51.net/ar ...

  10. Xdebug+ZendStudio配置

    原文链接:http://www.orlion.ga/689/ 好久之前就知道有这么个东西,但是一直没用,一直用exit().var_dump() debug,效率很低. 首先下载xdebug的dll文 ...

随机推荐

  1. electron+vue制作桌面应用--自定义标题栏

    electron会默认显示边框和标题栏,如下图 我们来看一下如何自定义一个更加有(gao)意(da)思(shang)的标题栏,例如网易云音乐这种 首先我们要把默认的标题栏删掉,找到主进程中创建窗体部分 ...

  2. jsp内置对象(三)-----response对象

    response对象  response对象包含了响应客户端请求的有关信息,但在JSP中很少直接用到它.他是HttpServletResponse类的实例,response对象具有页面作用域,即访问一 ...

  3. 通过nodejs实现文件的上传

    通过nodejs实现文件的上传 主要内容 本文将用来讲述如何通过nodejs进行文件上传,将会涉及到以下知识点: 通过express模块进行服务器的搭建 通过multer模块将上传的文件保存到指定目录 ...

  4. 推荐一个学习python非常好的网站

    推荐一个入门python非常好的网站(也可以学习JAVA)非常适合入门,不说多易于理解,也是比较亲民的0基础学习教程,还免费…… 网址:https://www.liaoxuefeng.com/(廖雪峰 ...

  5. Ubuntu16.04 desktop 设置共享文件夹 -- 图形界面配置

    1. 安装 安装samba 直接采用 Ubuntu16.04 desktop 里面的安装向导来完成: 选中需要共享的文件夹 -> 右键 “local Network Share” -> 安 ...

  6. 一个和与后台数据连接的模板get post put 以及延伸的query

    /* example: require.config({ paths: { "httpClient": "../../core/http-client" } } ...

  7. (转)C++中的new

    转载自:http://blog.csdn.net/sparkliang/article/details/3650324 C++中的new其实是一个很糊弄人的术语,它有两种不同的含义,new运算符(ne ...

  8. 网页外链用了 target="_blank",结果悲剧了

    今天给大家分享一个 Web 知识点.如果你有过一段时间的 Web 开发经验,可能已经知道了.不过对于刚接触的新手来说,还是有必要了解一下的. 我们知道,网页里的a标签默认在当前窗口跳转链接地址,如果需 ...

  9. Vue 学习记录(一)

    Vue 研究了一段时间,要学的东西挺多的. 一.基本指令 1.v-text:2.v-html:3.v-pre;4.v-cloak:5.v-once:6.v-if:7.v-else:8.v-else-i ...

  10. Linux 中useradd命令的使用

    Linux 系统中通常都是root用户具有超级权限,超级用户root一般是不需要创建的,然而很多时候root用户不是任何人都可以使用的,毕竟最高权限的用户,任意使用的话,会对系统造成很多不必要的破坏. ...