## PHP 调试工具Xdebug安装配置

一、Xdebug 介绍

  Xdebug是一个开源的PHP程序调试工具,可以使用它来调试、跟踪及分析程序运行状态。当然,Xdebug需要结合PHP的编辑工具来打断点、跟踪、调试及分析,比较常用的PHP的Xdebug调试环境。

二、安装

  (一)xdebug.dll 下载

    https://pecl.php.net/package/Xdebug  (根据自己的PHP版本下载)

  (二)xdebug 安装

    1. 将下载下来的 php_xdebug-2.5.0rc1-7.1-vc14-nts-x86_64 放在 php 的 ext 目录下。

    2. php.ini 配置

      

[Xdebug]
zend_extension="E:/development/php/php-7.1.1-nts-Win32-VC14-x64/ext/php_xdebug-2.5.0rc1-7.1-vc14-nts-x86_64.dll" ;启用代码自动跟踪
xdebug.auto_trace= ;允许收集传递给函数的参数变量
xdebug.collect_params= ;允许收集函数调用的返回值
xdebug.collect_return= ;指定堆栈跟踪文件的存放目录
xdebug.trace_output_dir="E:/proj/WOS/xdebug"   ;启用性能检测分析
xdebug.profiler_enable=on ;指定性能分析文件的存放目录
xdebug.profiler_output_dir="E:/proj/WOS/xdebug"
xdebug.profiler_output_name = "callgrind.%p"

重启Nginx/Apache 后, phpinfo()一下会看到。

三、运行

  (一)相关函数

    1. xdebug_call_class()

    返回从当前函数/方法调用的类名

    2. xdebug_call_file()

    返回从当前函数/方法调用的文件

    3. xdebug_call_function()

    返回从当前函数/方法调用的函数名

    4. xdebug_call_line()

    返回从当前函数/方法调用函数的行号

    5. xdebug_disable( )

    关闭xdebug错误跟踪

    6. xdebug_enable()

    开启xdebug错误跟踪

    7.xdebug_get_headers()

    返回所有通过PHP的header()设置的值,或者其他头设置。

    8.xdebug_is_enabled( )

    返回是否启用了堆栈跟踪

    9.xdebug_memory_usage()

    返回当前内存使用情况

    10.xdebug_peak_memory_usage()

    返回高峰内存使用情况

    11.xdebug_time_index()

    返回自脚本启动到指定脚本索引行所用时间

  (二)生产的文件

    运行的项目的目录,然后会得到以下文件。

    

  (三)安装解析程序

    得到这些文件之后要如何分析呢?

    这是时候可以下载:

    https://sourceforge.net/projects/qcachegrindwin/ (如果下载不了,翻一下墙)

  (四)qcachegrindwin工具使用

  

以上可以分析程序的性能以及执行过程,对调试还是很有帮助的。

PHP 调试工具Xdebug安装配置的更多相关文章

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

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

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

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

  3. linux下php调试工具xdebug安装配置

    xdebug简介 Xdebug是php的一款调试工具,是基于zend的一个扩展,可以用来跟踪,调试和分析PHP程序的运行状况.如变量,函数调试,性能监测,代码覆盖率等 xdebug安装 1.下载xde ...

  4. XDebug安装配置教程

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

  5. phpstorm+xdebug安装配置

    这个问题也困惑了我好久 烦死了 今天看了qing师傅的博客 跟着安装 运行环境: phpStorm 2018 PHP 5.45 nts VC9 Xdebug 2.4.1 0x01 PHP安装xdebu ...

  6. 安装配置Xdebug模块详解

    1.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行.具体下载方法如下:将phpinfo网页的源代码拷贝到h ...

  7. 安装php调试工具 Xdebug的步骤 火狐 phpstorm联调

    一 安装服务器端 1 选择你的版本 <?php phpinfo(); ?> 比如我的: 关键是这三项:PHP Version 7.3.0Architecture x86 (x86是32位系 ...

  8. Xdebug在PHP中的安装配置

    Xdebug在PHP中的安装配置涉及php.ini配置文件的修改. 1  首先需要下载Xdebug,根据安装的PHP版本,选择合适的Xdebug版本, 2  安装Xdebug将下载的php_xdebu ...

  9. Xdebug安装对应版本与配置

    Xdebug安装地址https://xdebug.org/download.php,进入下载页面后点击custom installation instructions,可以找到适合的Xdebug版本. ...

随机推荐

  1. [cmd]如何设置 Windows 默认命令行窗口大小和缓冲区大小

    Windows 命令行 cmd 窗口系统默认的大小(80*40)对于现在的屏幕配置已经跟不上时代了,我们总是要把它改大些,而且缓冲区大小也想改得大大的.单纯的为当前的 Windows 命令行窗口修改显 ...

  2. mybatis学习 十 动态 SQL

    1.  根据方法传入的参数不同执行不同的 SQL 命令.称为动态 SQL, MyBatis 中动态 SQL 就是在 mapper.xml 中添加逻辑判断等. 2. <if>标签 <s ...

  3. delphi 中的win32 以外到平台的字符串处理一定慢吗?(转载)

    原始连接:http://rvelthuis.blogspot.tw/2018/01/strings-on-other-platforms-than-32-bit.html Strings too sl ...

  4. 2018.10.26 poj3421X-factor Chains(数论+排列组合)

    传送门 排列组合入门题. 令X=p1a1p2a2..pkakX=p_1^{a_1}p_2^{a_2}..p_k^{a_k}X=p1a1​​p2a2​​..pkak​​ 那么答案1就等于∑i=1kai\ ...

  5. 解决Oracle+Mybatis批量插入报错:SQL 命令未正确结束

    Mybatis批量插入需要foreach元素.foreach元素有以下主要属性: (1)item:集合中每一个元素进行迭代时的别名. (2)index:指定一个名字,用于表示在迭代过程中,每次迭代到的 ...

  6. dj django与ajax交互

    Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数 ...

  7. Andrew机器学习第一课

    批梯度下降算法:      训练样本为一个时:更新Θi 让代价函数最小,利用沿梯度下降方向函数会变得越来越小.这个函数是代价函数J关于(Θi )的.这里并没有在讨论x,y. 关于为什么式子(图是复制的 ...

  8. PI3HDX1204B

    PI3HDX1204B用于HDMI2.0 6Gpbs的中继器,它有可编程的高均衡,输出摆幅和去加重控制模式.当传输为6Gpbs时,最大的EQ是22dB. PI3HDX1240B的EQ,SW和去加重可以 ...

  9. Json跨域请求数-Jquery Ajax请求

    同步请求,async(是否异步) //同步请求,等待并接收返回的结果 var result = $.ajax({ type: "GET", url: address, async: ...

  10. 【1】jQuery异步(Ajax)操作之JSONP [转]

     前言: 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域 ...