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 相关文章推荐
学习使用PHP数组
Oct 09 PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 PHP
初识PHP
Sep 28 PHP
php画图实例
Nov 05 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
php中文语义分析实现方法示例
Sep 28 PHP
laravel 关联关系遍历数组的例子
Oct 10 PHP
php swoft框架实例用法
Dec 22 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
Track Image Loading效果代码分析
2007/08/13 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python splitlines使用技巧
2008/09/06 Python
深入理解Python 代码优化详解
2014/10/27 Python
Python中统计函数运行耗时的方法
2015/05/05 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Python读写docx文件的方法
2018/05/08 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
Python的两道面试题
2013/06/29 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis