Windows下XDebug 手工配置与使用说明


Posted in PHP onJuly 11, 2010

1. 下载XDebug二进制文件: http://www.xdebug.org/download.php

5.2 http://www.xdebug.org/files/php_xdebug-2.1.0-5.2-vc6.dll

5.3 http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll
2. 找到php.ini
3. 如果配置过 ZendOptimizer, 需要先屏蔽 ZendOptimizer 有关的配置, 通常如下:

[Zend]

zend_extension_manager.optimizer_ts="path\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"

zend_extension_ts="path\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"
4. 加入 XDebug 配置:

zend_extension_ts="path/xdebug/php_xdebug-2.1.0-5.2-vc6.dll"

[Xdebug]

xdebug.profiler_enable=on

xdebug.trace_output_dir="path\xdebug"

xdebug.profiler_output_dir="path\xdebug"

xdebug.remote_enable=on

xdebug.remote_handler=dbgp

xdebug.remote_host=localhost

xdebug.remote_port=9000

说明: 上面 "path" 的地方需要修改为你自己的本地路径.
5. 重启 Apache 或者 IIS.
6. 查看 phpinfo 的输出, 如果看到 XDebug 的选项, 就说明配置成功了.
以下是其他网友的文章
一、安装xdebug模块
1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,如保存成:php_xdebug.dll
2、修改php.ini,增加如下信息

[Xdebug] 
zend_extension_ts="c:/webserver/php5/ext/php_xdebug.dll" 
xdebug.auto_trace=on 
xdebug.collect_params=on 
xdebug.collect_return=on 
xdebug.trace_output_dir="c:/webserver/php5/debuginfo" 
xdebug.profiler_enable=on 
xdebug.profiler_output_dir="c:/webserver/php5/debuginfo"

参数解释:
zend_extension_ts="c:/webserver/php5/ext/php_xdebug.dll"
;加载xdebug模块。这里不能用extension=php_xdebug.dll的方式加载,必须要以zend的方式加载,否则安装上后,phpinfo是显示不出xdebug这个项的。
xdebug.auto_trace=on;
;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.collect_params=on;
;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.collect_return=on
;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.trace_output_dir=”c:\Temp\xdebug”
;设定函数调用监测信息的输出文件的路径。
xdebug.profiler_enable=on
;打开效能监测器。
xdebug.profiler_output_dir=”c:\Temp\xdebug”;
;设定效能监测信息输出文件的路径。
还有一些更为具体的参数设定,详见:http://www.xdebug.org/docs-settings.php
3、重启apache
这样,在本地运行php的时候,会在所设定的目录里产生一些调试信息的文件:
函数调用过程监测信息文件的文件名格式:trace.××××××.xt。这个文件可以直接查看,里面包含了函数运行的时间,函数调用的参数值,返回值,所在的文件和位置等信息。内容格式还是相对直观的。
效能监测文件的文件名格式:cachegrind.out.××××××××。
这个文件也可以直接查看,不过信息格式不易被人类所理解,
所以我们需要接下来的一个软件。
二、安装wincachegrind
由于效能监测文件:cachegrind.out.××××××××文件的内容不易被人类所理解,所以我们需要一个工具来读取它。windows下就有一款这样的软件:wincachegrind。
1、到http://sourceforge.net/projects/wincachegrind/下载安装wincachegrind
2、安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值)
这样就可以比较直观的查看效能监测文件的信息了。
PHP 相关文章推荐
mysq GBKl乱码
Nov 28 PHP
使用php重新实现PHP脚本引擎内置函数
Mar 06 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
去除php注释和去除空格函数分享
Mar 13 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
详解PHP中的 input属性(隐藏 只读 限制)
Aug 14 PHP
在Laravel中使用DataTables插件的方法
May 29 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
PHP编码规范之注释和文件结构说明
Jul 09 #PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 #PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 #PHP
PHP 函数学习简单小结
Jul 08 #PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 #PHP
PHP三层结构(上) 简单三层结构
Jul 04 #PHP
Apache 配置详解(最好的APACHE配置教程)
Jul 04 #PHP
You might like
mysql limit查询优化分析
2008/11/12 PHP
php 购物车实例(申精)
2009/05/11 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
vuex的简单使用教程
2018/02/02 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
如何解决安装python3.6.1失败
2020/07/01 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
戴尔英国官网:Dell英国
2017/05/27 全球购物
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
工商管理系学生的自我评价分享
2013/11/29 职场文书
班组长竞聘书
2014/03/31 职场文书
档案保密承诺书
2014/06/03 职场文书
教师个人年度总结
2015/02/11 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android