用Xdebug调试PHP程序

什么是Xdebug?

Xdebug是一个PHP的扩展用于调试PHP程序,用于调试PHP,可以提供很多有用的调试信息。

1.Xdebug的安装

首先假设我们的开发平台是windows XP上面已经安装好了Apache、PHP,PHP安装在C:\php目录。

先到Xdebug的官方网站http://xdebug.org/去下载对应你PHP版本的Xdebug的DLL文件,下载下来放在PHP的ext目录(C:\php5\ext),你可以按照其他扩展的命名方式,去掉后面Xdebug的版本编号直接改成php_xdebug.dll。

然后修改php.ini,先找到你机器上配置的php.ini的位置(c:\php\php.ini或者c:\windows\php.ini),在文件的最后加上Xdebug配置信息

[Xdebug]

zend_extension_ts=”c:/php/ext/php_xdebug.dll”

xdebug.auto_trace=on

xdebug.collect_params=on

xdebug.collect_return=on

xdebug.trace_output_dir=”c:\Temp\xdebug”

xdebug.profiler_enable=on

xdebug.profiler_output_dir=”c:\Temp\xdebug”

参数解释:

zend_extension_ts=”c:/php/ext/php_xdebug.dll”

;加载xdebug,不能用extension=php_xdebug.dll的方式加载,必须要以zend的方式加载,否则安装上 后,phpinfo打印出来的里的xdebug段的会有Must LOADED AS ZEND EXTENSION的警告信息(原因未知)。

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

配置好以后,重新启动Apache,用phpinfo()就可以查看Xdebug扩展的相关信息了如下。

时间: 2024-08-22 14:17:41

用Xdebug调试PHP程序的相关文章

使用NetBeans + Xdebug调试PHP程序的方法_php技巧

按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为DBGP插件也存在许多缺陷,烦恼不断,经常性地stack overflow,很是遗憾.后来想想Np++只是Editor,不要对它强求过多,插件的版本也比较低,存在许多BUG也是可以理解的,等它慢慢完善再说吧,开源社区的力量可是很强大的,^^.昨晚在坛里某位同志的博文里再次见到了NetBeans这个熟悉的字眼(之前选开发环境的时候因为NB非常强大,功能设置很人性化,界面非常

xdebug调试PHP程序的学习笔记

xdebug 安装步骤 xdebug是php的一个module,需要编译安装,我用lnmp安装的php,php被默认安装到/usr/local/php,然后做一个硬链接到/usr/bin 先编译xdebug  代码如下 复制代码 wget http://www.xdebug.org/files/xdebug-2.2.3.tgz tar xzf xdebug-2.2.3.tgz cd xdebug-2.2.3 /usr/bin/phpize ./configure --with-php-confi

php安装xdebug调试PHP程序的很慢问题解决办法

xdebug是一个不错的调试php的组件,但是,如果你不好好的配置它,就会遇到各式各样的问题: A:访问超慢响应 B:访问超快响应但是是空白页. 问题A解决的方法很多,总归还有解决办法:问题B我估计是线程问题,也许可以通过调试php.ini的配置搞定,也许不是,很难讲清楚,线程的问题可能要跟xdebug的版本扯上关系. 解决方式 PHP.ini 找到memory_limit参数,增大! 换一个浏览器!我之前一直用Google Chrome调试程序,之后就开始变慢下来,直到每个页面变成6秒才加载完

调试PHP程序的多种方法介绍_php技巧

调试的定义:通过一定方法,在程序中找到并减少缺陷的数量,从而使其能正常工作. 这里说一些如何调试PHP程序的经验. 一.PHP自带的调试功能 1.自带的报错功能 两个名词:开发环境是开发人员在进行开发和调试的环境,生产环境是最终客户在用的线上环境: 开发环境和生产环境要分开设置报错功能. (1)开发环境 开发环境需要打开报错,以下是php.ini的配置项及其说明: 复制代码 代码如下: ; This directive sets the error reporting level. ; Deve

极光推送调试的程序报错

问题描述 极光推送调试的程序报错 极光推送调试的程序报错,不知道是什么原因,求解,谢谢 解决方案 定位到对应的源码行数分析 解决方案二: java.lang.ClassNotFoundException:java.lang.AutoCloseable 在加上异常是ClassNotFoundException 该类不存在 java.lang.AutoCloseable 这个类不存在

配置Editplus调试PHP程序入门教程

之前我介绍了PHP开发工具zend studio7入门使用教程,zend studio的使用其实蛮耗费内存的,针对PHP入门学习者,今天和大家分享如何配置Editplus来调试PHP程序,Editplus配置好后进行PHP网站开发其实并不比zend studio逊色,Editplus提供很多用户工具(插件),比如PHP自动完成.PHP函数自动提醒与补全等,这些都对配置Editplus调试PHP程序带来了方便,下面我就以PHP教程形式介绍Editplus的配置步骤.准备工作 在配置Editplus

利用C#线程窗口调试多线程程序

  从网上的资料判断,调试多线程程序似乎就一下3种方法. 1.在日志的某个地方写日志文件. 优点:不会干扰程序的执行,特别是对网络的多线程通信. 缺点:每次都需要打开日志文件以查看进程运行的信息. 2.利用断点进行调试. 优点:直观,可以直接看到运行过程的值 缺点:在多个线程设置断点,可能让程序跳来跳去,还需要额外地分出一部分精力用来理清程序的逻辑 3.利用弹出窗口来查看进程调试的信息. 优点;直观 缺点;在调试网路通信的时候,使得通信的过程产生延时,导致通信失败. 4.利用vs2010自带的线

在Windows 2003下面调试ASP程序的常见错误以及解决方案

window|程序|错误|解决 由于工作原因,笔者经常需要使用Asp开发一些小型程序,在Windows 2000下开发和使用相关程序时一般不会出现什么问题,并且也很容易解决.但是由于笔者为了尝鲜使用了Windows 2003 Server时,开发相关程序就出现了这样那样的问题,比如浏览器不能显示详细出错信息,连接Access时总是报错等,让笔者苦不堪言.在多次实践和查看了一些参考资料之后,对处理相关的问题有了一些经验,现在终于可以在Windows 2003 Server 下面调试和使用相关的程序

解决Eclipse无法调试J2ME程序的配置方法

用Eclipse无法调试J2ME程序,Eclipse配置方法如下: 菜单栏Window→Preferences→Java→Debug 去掉suspend execution on uncaught exceptions和Suspend execution on compilation errors前面两个勾勾,再把Debugger timeout(ms)设置为不少于15000ms 调试配置是通用的,只不过调试J2ME时会忘了.