zend+xdebug单步调试
也允许使用第三方调试工具,今天以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配置信息

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选项,如图
zend studio 8 相应的图为:
勾选 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文件的画面如图
如图你可以通过单步调试(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
下图中的xdebug设置端口是11115,和php.ini里配置的xdebug.remote_port = 11115要一样(默认两边设置的都是9000端口,不用改别的端口,我是根据自己的实际情况改的)
这里选择php5.3.21(CGI)版本测试,CLI是php命令行脚本调试
在zend studio10,点击最上面工具栏里的project,选择下拉菜单里的preferences
以上设置完成后,打开你的php代码里的index.php文件,右击鼠标,在出现的菜单里选择Debug As,再选择PHP Web Application,如果是首次debug,会出现下面这个页面
在launch url下的框里输入你在浏览器里访问这个index.php的地址,点ok就行,一切正常的话就会出现这个页面
点击这个按钮,可以停止调试
在这里显示当前页面的所有变量
你可以按F5键进行单步调试,在每一步里所有可用变量都会在上图中出现
zend+xdebug单步调试的更多相关文章
- php安装xdebug扩展,PHPStorm+XDebug单步调试
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- 如何使用Xdebug单步调试PHP游戏服务器
参考文章:https://www.sourcetoad.com/resources/debugging-php-save-time-with-xdebugs-remote-autostart/ 配置参 ...
- PhpStorm+Xdebug配置单步调试PHP
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- Zend Studio集成Xdebug断点调试详解
转自:http://www.softown.cn/post/115.html Xdebug是PHP开发中两个常用的断点调试工具之一(另一个为Zend Debugger). 现在,我们在Zend Stu ...
- Ecplise + Xdebug 一波三折终于能单步调试了
http://my.oschina.net/012345678/blog/152889 Ecplise + Xdebug 一波三折终于能单步调试了 发表于2年前(2013-08-15 15:50) ...
- PhpStorm XDebug 远程调试
现在我们自己公司的各种开发和测试服务器,都是使用阿里云的服务器.一些PHP的项目,无法在本地搭建完整的环境,在外网服务器上调试更方便定位问题.发现网上没有完整的关于如何配置PHPStorm和XDebu ...
- phpstorm+Xdebug断点调试PHP
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...
- APMServ5.2.6 + xdebug + notepad++调试环境配置
(原创文章,转载请注明出处:http://www.cnblogs.com/qzhforthelife/archive/2013/06/21/3147772.html) 刚整了两个多小时才把这个调试环境 ...
- netbeans工具使用xdebug断点调试php源码
对有有经验的程序员,使用echo.print_r().print_f().var_dump()等函数足以调试php代码,如果需要在IDE工具中使用断点调试,xdebug就是一个非常好的php调试工具. ...
随机推荐
- 在telnet下操作memcache详解(操作命令详解)
这篇文章主要介绍了在telnet下操作memcache详解,telnet下的memcache操作命令详解,需要的朋友可以参考下 在定位问题.测试等时候经常需要对memcache的数据进行一些操作,但是 ...
- Linux软链接和硬链接
Linux中的链接有两种方式,软链接和硬链接.本文试图清晰彻底的解释Linux中软链接和硬链接文件的区别. 1.Linux链接文件 1)软链接文件 软链接又叫符号链接,这个文件包含了另一个文件的路径 ...
- # 图解TCP/IP读书笔记(五)
第五章.IP协议相关技术 IP旨在让最终目标主机收到数据包,但是在这一过程中仅仅有IP是无法实现通信的,因此还有需要作为为IP的辅助的各种协议支持. 协议 作用 特点 DNS(Domain Name ...
- FreePascal经典资料
------------------------------------------------------------------------ 这是每个版本的changelog: http://bu ...
- 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder
[重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final ...
- ThreadLocal,ThreadLocalMap,Thread 的相互关系
1.ThreadLocal. 真正关键的类是它的内部类ThreadLocalMap,ThreadLocal 基本上相当于一个代理,或者算是Facade模式的应用,还没想清楚这种设计的妙处.(经过分析, ...
- 处理11gR2 RAC集群资源状态异常INTERMEDIATE,CHECK TIMED OUT
注意节点6,7的磁盘CRSDG的状态明显不正常.oracle@ZJHZ-PS-CMREAD-SV-RPTDW06-DB-SD:~> crsctl status resource -t |less ...
- 解决Ext.form.DateField在浏览器中显示可能有问题
解决Ext.form.DateField在浏览器中显示可能有问题,界面将会拉的很长很长.如下图: 办法: 1:设置css的长度 .x-date-menu { padding-top:2px;padd ...
- android sqlite 一次创建多个表
package com.yangguangfu.database; import android.content.Context; import android.database.sqlite.SQL ...
- XTU -1231 人生成就 (dp + 记录最优解的个数)
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1231 直接递推. 在保存最大值的时候同时保存有多少条到达最大值的路径,注意 ...