Eclipse for php + Xdebug搭建PHP的调试环境
Xdebug安装教程
下载Xdebug
首先我们需要下载Xdebug,务必根据安装的PHP版本,选择合适的Xdebug版本,由于我是在Windows环境下安装PHP的,所以选择下载Windows版本的Xdebug2.1.0(5.3 VC6 (32 bit)),下载下来的Xdebug文件为php_xdebug-2.1.0-5.3-vc6.dll,这是由于Xdebug是作为PHP模块的形式被安装配置与使用的。
Xdebug安装提示:如果你不清楚安装的PHP版本,你可以通过phpinfo()函数参看,同时Xdebug也提供了phpinfo输出信息分析工具来帮助你分析如何安装Xdebug,只要将phpinfo输出信息复制提交即可,地址:Xdebug phpinfo信息分析地址
安装Xdebug
将下载的php_xdebug-2.1.0-5.3-vc6.dll复制到PHP安装目录下的ext目录,此处为C:\php\ext,ext目录专门用来存放PHP扩展库DLL文件。
修改php.ini的配置
[Xdebug]
zend_extension = D:/php-5.3/ext/php_xdebug-2.1.2-5.3-vc6.dll
xdebug.auto_trace = On
xdebug.show_exception_trace = On
xdebug.remote_autostart = On
xdebug.remote_enable = On
xdebug.collect_vars = On
xdebug.collect_return = On
xdebug.collect_params = On
xdebug.trace_output_dir=”D:/xDebugLog”
xdebug.profiler_output_dir=”D:/xDebugLog”
xdebug.profiler_enable=On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
第四步:启动apache。
第五步:在eclipse的项目里的Properties里面找到"PHP Debug",在PHP Debugger里面选择"XDebug"
第六步:再在Windows->Preferences里面配置下PHP Servers
第七步:再在Windows->Preferences里面配置下PHP Executables
第八步:再在Run->Debug Configurations里面确认Path Mapping的配置和第六步中的一致。
接下来,进入debug界面,就可以开始设置断点进行debug了。
配置中遇到的问题:
1、在phpinfo();打印的信息中一直找不到Xdebug的字样。
解决办法:在php.ini文件中,作如下修改:
zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
修改为:
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
2、在代码中添加断点,但是断点无效,不能停止。
解决办法:在php.ini文件中,作如下修改:
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
修改为:
zend_extension = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
;extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
我的php版本明明是Thread safe,但是此处使用zend_extension_ts,却不行,不太明白。
3、断点只能在第一行起效,后面的仍不能停止。
解决办法:参考上面第五步,选中Use MultiSession;参考上面第八步,确认Path Mapping的配置。
Eclipse for php + Xdebug搭建PHP的调试环境的更多相关文章
- Xcode搭建真机调试环境 图文实例
本文介绍的Xcode搭建真机调试环境 图文实例,图文并茂,使我们学习起来更方便些,我们先来看内容. AD: 2013云计算架构师峰会超低价抢票中 Xcode搭建真机调试环境 是本文要介绍的内容,不多说 ...
- vscode加MinGw三步搭建c/c++调试环境
vscode加MinGw三步搭建c/c++调试环境 step1:安装vscode.MinGw 1.1 vscod常规安装:https://code.visualstudio.com/ 1.2 MinG ...
- HDP2.0.6+hadoop2.2.0+eclipse(windows和linux下)调试环境搭建
花了好几天,搭建好windows和linux下连接HDP集群的调试环境,在此记录一下 hadoop2.2.0的版本比hadoop0.x和hadoop1.x结构变化很大,没有eclipse-hadoop ...
- 通过模拟器和ida搭建Android动态调试环境的问题
这几天在学Android的native层逆向.在按照教程用ida搭建动态调试环境时,第一步是把android_server 放到手机里执行,但是在手机里可以,在genymotion模拟器上就提示 no ...
- 基于Visual Studio Code搭建Golang开发调试环境【非转载】
由于对Docker+kubernetes的使用及持续关注,要理解这个平台的原理,势必需要对golang有一定的理解,基于此开始利用业余时间学习go,基础语法看完之后,搭建开发环境肯定是第一步,虽然能g ...
- 基于Groovy搭建Ngrinder脚本调试环境
介绍 最近公司搭建了一套压力测试平台,引用的是开源的项目 Ngrinder,做了二次开发,在脚本管理方面,去掉官方的SVN,引用的是Git,其他就是做了熔断处理等. 对技术一向充满热情的我,必须先来拥 ...
- VScode+phpStudy搭建php代码调试环境
一.安装Visual Studio Code 官网:https://code.visualstudio.com/ 下载安装包后,按照默认安装即可 安装中文语言环境 点击左侧工具栏的 extension ...
- Windows下搭建FFmpeg开发调试环境
背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可. 但是如果你想调试FFmpeg内部相关的逻辑,或 ...
- 用Qemu模拟vexpress-a9 (一) --- 搭建Linux kernel调试环境【转】
转自:http://www.cnblogs.com/pengdonglin137/p/5023342.html#_label2 阅读目录(Content) 环境介绍: 下载Linux内核 安装arm的 ...
随机推荐
- 利用angular与后台的交互
记录的世界是强大的,不管天南海北还是五湖四海,如果利用angular js与后台的交互.angular js 在api上称为是http服务: 下面咱给一个简单的代码看看:简单的利用后台与前端的tab切 ...
- ArcGIS10.2中文版破解教程
ArcGIS10.2中文版前些时间早就出炉了,下载了但是一直没有安装,听说了ArcGIS10.2云处理能力和影像处理能力都增强了!网上经常遇到一些朋友安装失败的问题,现在特此做一个教程!分享一下安装成 ...
- Python3基础 sort(reverse=True) 将一个列表降序排列
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- Winform开发框架之单据窗体生成(主从表,流水单号)
源码地址:https://github.com/GarsonZhang/GZFramework.ShareDemo 前言 1.在开始本节前请先重置代码为 chapter-03-start 懒人地址:h ...
- End Routine
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Java 中的 static 使用之静态初始化块
Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意: ...
- javascript 函数声明和函数表达式的区别(学习笔记)
javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函 ...
- C#中调用Matlab人工神经网络算法实现手写数字识别
手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化 投影 矩阵 目标定位 Matlab 手写数字图像识别简介: 手写 ...
- Scrum Meeting 7-20151209
任务安排 姓名 今日任务 明日任务 困难 董元财 服务器购买记录接口 请假(编译攻坚) 无 胡亚坤 发布记录和购买记录 请假(编译攻坚) 无 刘猛 完成Scrum Meeting 请假(编译攻坚) 无 ...
- c语言->和 .
->和 . 都是用于访问结构数据的符号. struct point { int x; int y; }; . 符号是在表达式中引用某个特定结构中的成员: 结构名.成员 例如: struct po ...