PHP程序z中xdebug工具简要使用方法
- PHP程序的debug
PHP程序的debug,无论是cli方式还是web方式,都需要使用第三方的debug工具。PHP5.6之前,本身自带的debug功能,仅限于日志输出。
推荐使用免费xdebug。Xdebug作为zend扩展存在。可以在php安装后,通过phpize单独被编译安装。
xdebug的安装有几点注意
- 如果不知道下载什么xdebug版本,可以在这里,通过上传phpinfo信息,由系统给出建议:http://xdebug.org/wizard.php
- 安装后,php.ini中需要指定的xdebug.so方式,可能因为php版本不同而不同。详情见此:http://xdebug.org/docs/all#configure-php
- make install如果安装不成功,可以去modules文件夹下,手动拷贝xdebug.so到1中建议的文件夹下
xdebug的使用有几点注意
- 如果需要设置断点和单步跟踪,可以使用xdebug自带的debugclient。位于debugclient文件夹下。安装方法:http://xdebug.org/docs/all#debugclient
- xdebug的代码跟踪,都是通过remote debug来完成;debugclient其实是起了一个server用于监听并等待需要debug的请求;所有的断点设置都是通过debugclient去进行的。详细的控制命令,可以参考:http://xdebug.org/docs-dbgp.php
- PHP采用debugclient作为server,而不是类似Java的remote debug方式。其原因在于一方面PHP代码不是类似Java编译执行可以直接看到源码,另一方面debugclient可以根据会话设置,来区分对哪些请求才需要进行debug和单步追踪。这对多并发的web应用是非常有意义的(当然java也可以通过设置条件断点来实现)。参考:http://xdebug.org/docs/all#activate_debugger
- 对于cli的php程序进行debug时,需要设置XDEBUG_CONFIG。可以参考:http://stackoverflow.com/questions/13284795/setting-xdebug-breakpoints-solely-in-command-line
关于gdb进行PHP程序的debug,主要用于对zend engine本身、PHP源码和扩展的debug。这也是为什么php源码中自带gdb脚本.gdbinit的原因。
PHP程序z中xdebug工具简要使用方法的更多相关文章
- CDR中调和工具的使用方法
CDR中的调和工具也是一个神奇的工具,和AI中的混合工具类似,可以做出很多好看的形状,下面先看下他的基本操作方法. 要了解CorelDRAW平面设计软件中的cdr调和工具怎么用,首先要知道调和工具的作 ...
- 关于我在17号“一个查询任意年份中任意月份的天数”程序编写中的代码&第二种方法!
PS:下面的代码是我对于17号的练习题的一些新的看法(其实就是从另一个角度思考问题) package day20180917;import java.util.Scanner;//导包public c ...
- [转]PhpStorm中如何使用Xdebug工具,入门级操作方法(亲测有效)
0 前言 网上试过很多方案,有的根本无效,有的是有效一段时间后失效,然而这个方法是一直有效果,所以留底记录一下 1 简介 PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速 ...
- Eclipse与Android源码中ProGuard工具的使用
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- OpenCV成长之路(3):模仿PhotoShop中魔术棒工具
本文的主题实际上是图像的颜色空间的转换,借助一个颜色选取程序来说明OpenCV中颜色转换函数的用法以及一些注意事项. 一.几种常见的颜色空间: RGB颜色空间:RGB采用加法混色法,因为它是描述各种“ ...
- 一个字符串中可能包含a~z中的多个字符,如有重复,如String data="aavzcadfdsfsdhshgWasdfasdf",求出现次数最多的那个字母及次数,如有多个重复的则都求出。
主要掌握String中的方法 char[] toCharArray() 将此字符串转换为一个新的字符数组. int indexOf(String str) 返回 ...
- Unity3D中的工具类
1.时间:Unity提供了Time类,这个类主要用来获取当前的系统时间. Time.time:从游戏开始后开始计时,表示截止目前共运行的游戏时间. Time.deltaTime:获取Update()方 ...
- Android应用程序的Activity启动过程简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6685853 在Android系统中,Activ ...
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍(补充)
上一篇:Mac OS平台下应用程序安装包制作工具Packages的使用介绍 补充说明 上一篇文章中介绍了如何使用Packages如何创建mac下的安装包.但是这样制作出来的安装包只能安装到系统的文件路 ...
随机推荐
- sql server 2008安装过程中服务器配置出错
请选择:对所有 SQL Server 服务使用相同的账号: 但这里不能给他设置自己定义的账号和密码 ( 例如下面设置它的账号为 sa ,密码为 654321) 就会发生错误:
- Android之layout_alignBottom失效问题
外面是一层RelativeLayout,前面的text和后面按钮都是设置centerParent_vertical,第二个hello是需要与第一个底部对齐,虽然设置alginBottom指向第一个he ...
- NSDictionary 的有序性 (by the key in some rule)
NSDictionary 的有序性: (by the key in some rule) NSDictionary*myDictionary =[NSDictionary dictionaryWith ...
- Android Matirx的简介
在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型: 1.Translate————平移X,Y轴变换,而不是移动图形 2.Sc ...
- 简单搭建React-Native环境
1. 背景 差不多半年前安装这个RN环境,由于各种原因,一直安装不成功.时至今日,现在安装这个环境现在方便很多了. 2. 安装软件 安装nodejs,npm https://nodejs.org/e ...
- 用户授权 OAuth 2.0
什么是OAuth OAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版.OAuth适用于各种各样的包括提供用户身份验证机制的应用程序,注意是Authorizati ...
- selenium webdriver (python) 第三版
感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...
- 免费素材下载:iOS 8 矢量 UI 素材套件
小伙伴们,苹果终于在今天凌晨推送了 iOS 8 的正式版.虽然该系统并未与 iPhone6 发布会同时亮相,但对于已经提前体验尝鲜过测试版的同学来说并不陌生.iOS 8 几乎每个图标都进行了重新设计, ...
- MySQL+Keepalived实现双机HA
host1与host3互为主从,即host1为host3的主机,同时也为host3的从机 host1 192.168.203.131 host2 192.168.203.132 host3 192 ...
- struts2重点——ModelDriven
一.属性驱动 在目标 Action 类中,通过 setXxx() 方法来接收请求参数. 二.模型驱动 1.ParametersInterceptor 拦截器工作原理 ParametersInterce ...