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调试工具. ...
随机推荐
- java jms
这篇博文我们主要介绍J2EE中的一个重要规范JMS,因为这个规范在企业中的应用十分的广泛,也比较重要,我们主要介绍JMS的基本概念和它的模式,消息的消费以及JMS编程步骤. 基本概念 JMS是java ...
- linux环境下,利用tc限制两台服务器间的网速,非常简单。
最近再搞postgres的数据同步,需要模拟异地机房有带宽限制时的同步效果,所以想要限制一下两台机器之间的网速. ts命令功能很强,同时也好难理解和使用,经常浪费了好半天还是搞不定. 这里分享一个简单 ...
- 用任务管理器画CPU正弦曲线
这个最初是在microsoft的<编程之美>中看到的,用你的程序来控制CPU的使用率. 首先是要求写一个用来实现CPU使用率为50%程序. 这个还是很好实现的,只要让你的程序忙的时间课空闲 ...
- javascript中对象的属性的特性
1.ES5的属性特性包括下面六个: configurable: 表示能否通过delete来删除属性从而重新定义属性,能够修改属性的特性,默认为true enumberable: 表示是否能通过for- ...
- [原]poj-2680-Choose the best route-dijkstra(基础最短路)
题目大意: 已知n 个点,m条路线,s为终点:给出m条路线及其权值:给出w个起点,求最短路! 思路:基础的dijkstra,有向无环正权最短路,只要把终点和起点 reverse考虑便可. AC代码如下 ...
- WCF约束名称的用法
<!--<endpoint address="" binding="basicHttpBinding" bindingConfiguration=& ...
- JS获取系统的指定定年月日
/** * 获取系统当前时间 */ function getNowYearMouth(){ var date=new Date; var nowYearMouth=date.getMonth()+1; ...
- UVa 1442 (线性扫描) Cave
对于一个水坑,水平面肯定是相等的.(废话,不然为什么叫水ping面) 因为水面不能碰到天花板,所以将水面向两边延伸要么碰到墙壁要么延伸到洞穴外面去. 设h(i)表示向左延伸不会碰到天花板的最高水平面, ...
- hadoop1常见配置含义
参数 取值 备注 fs.default.name NameNode ...
- 20160122.CCPP详解体系(0001天)
程序片段(01):Hello.c 内容概要:HelloWorld //01.#include表示包含的作用: // (1).<>:表示只在系统目录之下进行查找 // (2)."& ...