zend+xdebug单步调试
2013-12-06 17:24
337 查看
也允许使用第三方调试工具,今天以PHP教程形式分享如何使用zend studio配置Xdebug来调试PHP程序。
使用Xdebug在zend studio中调试PHP源码之前,请务必安装配置Xdebug,这是基础教程,可参考PHP调试工具Xdebug安装配置教程一文,Xdebug结合zend studio在配置方面还是有点区别的。
http://xdebug.org/download.php xdebug下载地址
在zend studio中使用Xdebug调试PHP源码之前,需要针对zend studio对Xdebug进行配置,否则无法使用Xdebug调试PHP。
针对zend studio配置Xdebug的教程
打开PHP安装目录下的PHP.INI配置文件,我的是C:\PHP目录,找到Xdebug配置信息,在此基础上添加如下Xdebug配置信息
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
xdebug.remote_enable=true //Xdebug允许远程IDE连接
xdebug.remote_host=127.0.0.1 //允许连接的zend studio的IP地址
xdebug.remote_port=9000 //反向连接zend studio使用的端口
xdebug.remote_handler=dbgp //用于zend studio远程调试的应用层通信协议
重要说明:这里容易忽视的一个问题是xdebug.remote_host信息的配置,如果你使用的是局域网或 无线路由器,将xdebug.remote_host配置为127.0.0.1是无用的,会导致无法使用zend studio调试PHP,zend studio的单步调试按钮也无效!必须将xdebug.remote_host配置为zend studio安装机器的实际地址,IP地址可以通过ipconfig查看,由于我使用的是无线路由器,所以我将xdebug.remote_host配置 为192.168.1.100。
最后重启apache服务器。
Ok,下面我们就可以使用Xdebug在zend studio中进行调试工作了。
由于zend studio默认支持调试PHP的工具是zend debugger,所以首先需要将zend studio PHP Debug选项配置为Xdebug,才能使用Xdebug。
zend studio使用Xdebug调试PHP步骤一
打开zend studio7,选择菜单Project->Properties,然后在弹出界面中选择左侧PHP Debug选项,如图
![](http://images.cnitblog.com/blog/285763/201312/06172626-1c24a2b4a89e4b438ae4f39a3b3d4fea.gif)
zend studio 8 相应的图为:
![](http://images.cnitblog.com/blog/285763/201312/06172635-92445d322ddf4f8989716c13d27a3d88.png)
勾选 Enable project specific settings选项,并选择PHP Debugger选项中的Xdebug选项,最后点击确定即可。
说明:在使用zend studio调试PHP时,有时会出现一个问题,即zend studio调试PHP文件时没有使用Xdebug进行调试,可通过点击左侧上方的项目窗口选择具体的项目或项目文件,右击选择Properties选项进行配置,界面和上图一样。
在zend studio中使用Xdebug调试PHP源码
使用zend studio调试PHP,主要通过Debug As菜单,共有三种选择PHP Script、PHP Web Page、PHP Unit Test,此处选择PHP Web Page,由于可能存在同一PHP文件之前使用zend studio调试PHP时并没有选择使用Xdebug,需要清除旧的调试文件,可以通过Debug Configurations菜单清除上述三种zend studio调试方式中的文件,此处选择的是PHP Web Page,所以只要将此项中的文件清除即可。
Debug Configurations可通过三种方式进入:1、右击需要调试的PHP文件,选择Debug As或者打开调试的PHP文件;2、选择菜单栏上Run菜单下的Debug As进入;3、点击菜单栏Run菜单下方小蜘蛛图标旁的向下箭头选择Debug Configurations。
Debug Configurations配置完毕后,可打开需要使用zend studio调试的PHP文件选择Debug As中的PHP Web Page选项,核对好Launch Url后点击Ok即可调试,Xdebug在zend studio中调试PHP文件的画面如图
![](http://images.cnitblog.com/blog/285763/201312/06172649-551e613a41494082bf5c993d5ea3aeda.gif)
如图你可以通过单步调试(F5)对PHP文件进行调试,只要Xdebug配置正确,在调试代码窗口中会出现选中的淡绿色背景代码,否则单步调试(F5)功能是失效的。
最后你可以在D:\PHPWeb\xdebug\trace和D:\PHPWeb\xdebug\profiler目录下看到zend studio调试PHP文件时Xdebug输出的调试信息文件cachegrind.out.*和trace.*.xt。
=============================================================================================
现在zend大多数都升级了,zend 10 + xdebug调试 如下
xdebug是去xdebug官网下载的,地址是 http://xdebug.org/download.php,版本是 PHP 5.3 VC9 TS (32 bit)
把下载的xdebug压缩包解压后,把里面的 php_xdebug-2.2.1-5.3-vc9.dll 复制到 D:\php\ext(这是我的php安装目录)
修改php.ini,在最底下加入
[Xdebug]
zend_extension = "d:/php/ext/php_xdebug-2.2.1-5.3-vc9.dll"
;以下是参数
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir="d:/Temp"
xdebug.profiler_enable=on
xdebug.profiler_output_dir="d:/Temp"
xdebug.remote_enable = true
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "d:/Temp"
;允许连接的zend studio的IP地址
xdebug.remote_host = 127.0.0.1
;反向连接zend studio使用的端口
xdebug.remote_port = 11115(这个端口默认是9000,你根据自己的实际情况可以不用改,但必须和zend studio里设置的xdebug端口一样)
;用于zend studio远程调试的应用层通信协议
xdebug.remote_handler = dbgp
不要用 extension=php_xdebug-2.2.1-5.3-vc9.dll 这种方式加载xdebug扩展
下面是zend studio10的设置
打开zend studio10,点击最上面工具栏里的windows,选择下拉菜单里的preferences
![](http://images.cnitblog.com/blog/285763/201312/06172723-91690e9117a84302aedb58201278d39f.png)
下图中的xdebug设置端口是11115,和php.ini里配置的xdebug.remote_port = 11115要一样(默认两边设置的都是9000端口,不用改别的端口,我是根据自己的实际情况改的)
![](http://images.cnitblog.com/blog/285763/201312/06172813-e849a96f5fcb4b3c98b2ed9d230ccd77.png)
这里选择php5.3.21(CGI)版本测试,CLI是php命令行脚本调试
![](http://images.cnitblog.com/blog/285763/201312/06172825-b454b58a3ee0473591cfedaef3fb2d3c.png)
在zend studio10,点击最上面工具栏里的project,选择下拉菜单里的preferences
![](http://images.cnitblog.com/blog/285763/201312/06172902-40183d659fb74ba3887eea04c2fbb2f3.png)
以上设置完成后,打开你的php代码里的index.php文件,右击鼠标,在出现的菜单里选择Debug As,再选择PHP Web Application,如果是首次debug,会出现下面这个页面
![](http://images.cnitblog.com/blog/285763/201312/06172923-069147867a2144b594a59fe22b5cf379.png)
在launch url下的框里输入你在浏览器里访问这个index.php的地址,点ok就行,一切正常的话就会出现这个页面
![](http://images.cnitblog.com/blog/285763/201312/06172932-e86b5595a5ff448a9151de44cbc11ebe.png)
点击这个按钮,可以停止调试
![](http://images.cnitblog.com/blog/425813/201303/13113012-e1cef1d663104b52aaf48b3f23b8212b.png)
在这里显示当前页面的所有变量
![](http://images.cnitblog.com/blog/285763/201312/06172941-634653cb6d584ee2b839df1248e77e11.png)
你可以按F5键进行单步调试,在每一步里所有可用变量都会在上图中出现
使用Xdebug在zend studio中调试PHP源码之前,请务必安装配置Xdebug,这是基础教程,可参考PHP调试工具Xdebug安装配置教程一文,Xdebug结合zend studio在配置方面还是有点区别的。
http://xdebug.org/download.php xdebug下载地址
在zend studio中使用Xdebug调试PHP源码之前,需要针对zend studio对Xdebug进行配置,否则无法使用Xdebug调试PHP。
针对zend studio配置Xdebug的教程
打开PHP安装目录下的PHP.INI配置文件,我的是C:\PHP目录,找到Xdebug配置信息,在此基础上添加如下Xdebug配置信息
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
xdebug.remote_enable=true //Xdebug允许远程IDE连接
xdebug.remote_host=127.0.0.1 //允许连接的zend studio的IP地址
xdebug.remote_port=9000 //反向连接zend studio使用的端口
xdebug.remote_handler=dbgp //用于zend studio远程调试的应用层通信协议
重要说明:这里容易忽视的一个问题是xdebug.remote_host信息的配置,如果你使用的是局域网或 无线路由器,将xdebug.remote_host配置为127.0.0.1是无用的,会导致无法使用zend studio调试PHP,zend studio的单步调试按钮也无效!必须将xdebug.remote_host配置为zend studio安装机器的实际地址,IP地址可以通过ipconfig查看,由于我使用的是无线路由器,所以我将xdebug.remote_host配置 为192.168.1.100。
最后重启apache服务器。
Ok,下面我们就可以使用Xdebug在zend studio中进行调试工作了。
由于zend studio默认支持调试PHP的工具是zend debugger,所以首先需要将zend studio PHP Debug选项配置为Xdebug,才能使用Xdebug。
zend studio使用Xdebug调试PHP步骤一
打开zend studio7,选择菜单Project->Properties,然后在弹出界面中选择左侧PHP Debug选项,如图
![](http://images.cnitblog.com/blog/285763/201312/06172626-1c24a2b4a89e4b438ae4f39a3b3d4fea.gif)
zend studio 8 相应的图为:
![](http://images.cnitblog.com/blog/285763/201312/06172635-92445d322ddf4f8989716c13d27a3d88.png)
勾选 Enable project specific settings选项,并选择PHP Debugger选项中的Xdebug选项,最后点击确定即可。
说明:在使用zend studio调试PHP时,有时会出现一个问题,即zend studio调试PHP文件时没有使用Xdebug进行调试,可通过点击左侧上方的项目窗口选择具体的项目或项目文件,右击选择Properties选项进行配置,界面和上图一样。
在zend studio中使用Xdebug调试PHP源码
使用zend studio调试PHP,主要通过Debug As菜单,共有三种选择PHP Script、PHP Web Page、PHP Unit Test,此处选择PHP Web Page,由于可能存在同一PHP文件之前使用zend studio调试PHP时并没有选择使用Xdebug,需要清除旧的调试文件,可以通过Debug Configurations菜单清除上述三种zend studio调试方式中的文件,此处选择的是PHP Web Page,所以只要将此项中的文件清除即可。
Debug Configurations可通过三种方式进入:1、右击需要调试的PHP文件,选择Debug As或者打开调试的PHP文件;2、选择菜单栏上Run菜单下的Debug As进入;3、点击菜单栏Run菜单下方小蜘蛛图标旁的向下箭头选择Debug Configurations。
Debug Configurations配置完毕后,可打开需要使用zend studio调试的PHP文件选择Debug As中的PHP Web Page选项,核对好Launch Url后点击Ok即可调试,Xdebug在zend studio中调试PHP文件的画面如图
![](http://images.cnitblog.com/blog/285763/201312/06172649-551e613a41494082bf5c993d5ea3aeda.gif)
如图你可以通过单步调试(F5)对PHP文件进行调试,只要Xdebug配置正确,在调试代码窗口中会出现选中的淡绿色背景代码,否则单步调试(F5)功能是失效的。
最后你可以在D:\PHPWeb\xdebug\trace和D:\PHPWeb\xdebug\profiler目录下看到zend studio调试PHP文件时Xdebug输出的调试信息文件cachegrind.out.*和trace.*.xt。
=============================================================================================
现在zend大多数都升级了,zend 10 + xdebug调试 如下
xdebug是去xdebug官网下载的,地址是 http://xdebug.org/download.php,版本是 PHP 5.3 VC9 TS (32 bit)
把下载的xdebug压缩包解压后,把里面的 php_xdebug-2.2.1-5.3-vc9.dll 复制到 D:\php\ext(这是我的php安装目录)
修改php.ini,在最底下加入
[Xdebug]
zend_extension = "d:/php/ext/php_xdebug-2.2.1-5.3-vc9.dll"
;以下是参数
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir="d:/Temp"
xdebug.profiler_enable=on
xdebug.profiler_output_dir="d:/Temp"
xdebug.remote_enable = true
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "d:/Temp"
;允许连接的zend studio的IP地址
xdebug.remote_host = 127.0.0.1
;反向连接zend studio使用的端口
xdebug.remote_port = 11115(这个端口默认是9000,你根据自己的实际情况可以不用改,但必须和zend studio里设置的xdebug端口一样)
;用于zend studio远程调试的应用层通信协议
xdebug.remote_handler = dbgp
不要用 extension=php_xdebug-2.2.1-5.3-vc9.dll 这种方式加载xdebug扩展
下面是zend studio10的设置
打开zend studio10,点击最上面工具栏里的windows,选择下拉菜单里的preferences
![](http://images.cnitblog.com/blog/285763/201312/06172723-91690e9117a84302aedb58201278d39f.png)
下图中的xdebug设置端口是11115,和php.ini里配置的xdebug.remote_port = 11115要一样(默认两边设置的都是9000端口,不用改别的端口,我是根据自己的实际情况改的)
![](http://images.cnitblog.com/blog/285763/201312/06172813-e849a96f5fcb4b3c98b2ed9d230ccd77.png)
这里选择php5.3.21(CGI)版本测试,CLI是php命令行脚本调试
![](http://images.cnitblog.com/blog/285763/201312/06172825-b454b58a3ee0473591cfedaef3fb2d3c.png)
在zend studio10,点击最上面工具栏里的project,选择下拉菜单里的preferences
![](http://images.cnitblog.com/blog/285763/201312/06172902-40183d659fb74ba3887eea04c2fbb2f3.png)
以上设置完成后,打开你的php代码里的index.php文件,右击鼠标,在出现的菜单里选择Debug As,再选择PHP Web Application,如果是首次debug,会出现下面这个页面
![](http://images.cnitblog.com/blog/285763/201312/06172923-069147867a2144b594a59fe22b5cf379.png)
在launch url下的框里输入你在浏览器里访问这个index.php的地址,点ok就行,一切正常的话就会出现这个页面
![](http://images.cnitblog.com/blog/285763/201312/06172932-e86b5595a5ff448a9151de44cbc11ebe.png)
点击这个按钮,可以停止调试
![](http://images.cnitblog.com/blog/425813/201303/13113012-e1cef1d663104b52aaf48b3f23b8212b.png)
在这里显示当前页面的所有变量
![](http://images.cnitblog.com/blog/285763/201312/06172941-634653cb6d584ee2b839df1248e77e11.png)
你可以按F5键进行单步调试,在每一步里所有可用变量都会在上图中出现
相关文章推荐
- PHP——自定义比较算法
- PHP遍历指定目录,并存储目录内所有文件属性信息
- php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
- PHP json_encode中文乱码解决方法
- PHP一些文章
- 23种PHP开发工具集合
- phpcmsv9 后台统计编辑发稿数量
- PHP调试工具PHP DEBUG TOOLS 使用方法
- php中数组自定义排序
- 在PHP语言中使用JSON
- PHP汉字拼音转换和公历农历转换(代码家园)
- php生成GIF动态验证码图片(代码家园)
- FTPHelper-FTP帮助类,常用操作方法
- FTP多任务下载实现类
- PHP学习:字符串操作和正则表达式
- PHP数组学习
- 实现断点续传的FTP下载类(支持多线程多任务下载)
- 在servlet中用outputStream输出数据以及中文数据的问题
- php入门学习
- PHP之OOP要点摘要