Xdebug 配置
到官网 http://www.xdebug.com/download.php 下载
找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win7 64 + php-5.5.1-Win32-VC11-x64 ,下载的是 Xdebug 2.3.3 PHP 5.5 VC11 TS (64 bit) 安装:
Win :将下载的dll文件(这里是php_xdebug-2.3.3-5.5-vc11-x86_64.dll)放到 php 安装目录的 ext 文件夹下。本机放在 D:\ApacheServer\php\ext\
在ApacheServer下面新建xdebug文件夹,再在xdebug下面新建trace与profiler文件夹,用来存放xdebug生成的两种信息 编辑php.ini,加入下面几行 zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
;允许远程IDE调试
xdebug.remote_enable = true
;远程主机
xdebug.remote_host = 127.0.0.1
;xdebug.remote_port = 9000 ;默认端口 9000 xdebug.profiler_enable = on
;临时跟踪信息输出
xdebug.trace_output_dir = "D:\ApacheServer\xdebug\trace"
xdebug.profiler_output_dir = "D:\ApacheServer\xdebug\profiler" ;其余参数
;开启自动跟踪。自动打开"监测函数调用过程"的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出
xdebug.auto_trace = On
;开启异常跟踪
xdebug.show_exception_trace = On
;开启远程调试自动启动
xdebug.remote_autostart = On
;收集变量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On
;显示局部变量
xdebug.show_local_vars = On
;显示默认的错误信息
xdebug.default_enable = On
;用于zend studio远程调试的应用层通信协议
xdebug.remote_handler = dbgp
;如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错
xdebug.max_nesting_level = 10000 zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll" 与 Zend Debugger 一样
不同系统及 PHP 版本有不同写法
Linux 和 Mac OS X : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
Windows Thread-Safe 版 PHP : zend_extension_ts = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
Windows Non-Thread-Safe 版 PHP : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
所以同一服务器只能加载一个调试工具,要么 Zend Debugger 要么 Xdebug
但在 PHP5.5 环境下测试, Thread-Safe 版 PHP 后面不能加 _ts 只能写成 zend_extension = xdebug.profiler_enable = on 及后面的目录 "D:\ApacheServer\xdebug" 作用是开启把执行情况的分析文件写入到指定目录中的功能,可自由设置。也可不写
生成的文件,例如 cachegrind.out.4408 这种格式命名的文件,用编辑器打开可以看到很多程序运行的相关细节信息 重启Apache 重启
先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。 <?php
require 'abc.php';
?> 然后通过浏览器访问,惊奇地发现,出错信息变成了彩色的了,并且Xdebug跟踪代码的执行 Zend Studio设置
Zend Studio 10.6.2
Apache2.4.4
修改 Zend Studio 设置
Window->Preferences->PHP->PHP Executables->Add
填写内容如下,Executable path选择文件后PHP ini file (optional)自动赋值
Name : PHP 5.5.1_CLI
Executable path : D:\ApacheServer\php\php.exe
PHP ini file (optional) : D:\ApacheServer\php\php.ini
SAPI Type : CLI
PHP debugger : XDebug
点击Finish保存后自动就是默认 (如果只需要CLI调试此步可忽略)点击PHP Server下拉框Default PHP Web Server右边的PHP Servers...
选中Name|URL列表中的一条内容,点击右边的Edit
在弹出框的Debugger下拉框中选择XDebug 开始调试
在代码中在左边行数栏上双击加断点
Run->Debug Configurations...
双击PHP CLI Application
在Name处输入想要的名称,在PHP File处右边点击Browse,选择要debug的文件,点击下面的Apply即可 或者打开要运行的页面
Run->Debug As->PHP CLI Application
即可以调试模式运行,也可选择CLI之外其他调试模式
点击工具栏向下箭头(Step Into)或按 F5 逐行执行。点击左边的绿色向右箭头(Resume)或按F8一直执行,直到断点处停下
点击红色按钮(Terminate)结束调试,再点击臭虫按钮重新开始调试
Xdebug 配置的更多相关文章
- php+phpStorm+xdebug配置方法
1.下载xdebug文件 http://xdebug.org/wizard.php 将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug. 全部下载地址: ...
- PHPStorm 与 XDebug 配置
XDebug 配置 环境 Nginx 1.4.7 32 bit PHP 5.4.25 32 bit Windows 10 64 bit 下载 PHP 5.4 VC9 (32 bit)[nts版本] 配 ...
- PHPStorm下XDebug配置
PHPStorm下XDebug配置 分类: PHP2013-08-11 22:15 19697人阅读 评论(0) 收藏 举报 目录(?)[+] 1安装Xdebug 用yum安装可能会失败,用p ...
- x-debug配置简述 - chunyu
一 x-debug 是什么?在配置之前,先解决一个问题,x-debug 是什么?我也不查标准答案了,就说说个人理解.x-debug是一个PHP调试工具,帮助开发者在IDE里面进行代码的断点调试,效果如 ...
- 本地环境phpStorm10+XDebug配置和断点调试
安装环境:XAMPP;phpStorm版本10; windows 7 64bit. XAMPP.phpStorm 都直接安装在了D盘根目录,9999m目录建在D:\xampp\htocts下,即目录工 ...
- zendstudio xdebug 配置
1. 下载XDebug: http://www.xdebug.org/download.php 通过phpinfo()查看你的php版本,现在相对应的dll文件
- phpstorm + xdebug 配置
PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 把php-xdebug.dll复制到xamapp/php/ext目录下,打开php.ini配置如下参数 [xdebug] zend_e ...
- phpstorm+wamp+xdebug配置php调试环境
本篇文章主要是:教大家如果搭建一套phpstorm+wamp+xdebug调试php的环境现在大多数的程序员使用的调试方式一般都是echo, var_dump, file_put_contents等其 ...
- sublime Xdebug 配置
Sublime Text 配置x-debug 配置php 的x-debug 拓展 下载地址 :http://www.xdebug.org/download.php 放到php ext的目录下 然后使用 ...
- phpstorm如何配置xdebug?(hpStudy+PhpStorm+XDebug配置)
xdebug是什么? 初次接触,反复试了几次终于把这个xdebug给搞清楚了,类似于前端的控制台这样的东西,可以根据断点展示我们想要看的数据. 如何配置xdebug? 配置前说明: 1.phpStud ...
随机推荐
- Mysql 插入部分字段问题
1. 字段如果不设置auto_increment和default的值,是不允许插入表的. 2. insert into student(id, name) values("1", ...
- iOS开发-二维码的基本使用
二维码在生活中出现的频率越来越多了,大街小巷各个角落,它的出现更大的作用是代替功能单一的传统条形码,但是通常很多人第一次见到这个都不清楚这是干嘛用的.最初第一次见到可能就是买到的商品上有一个数字的条形 ...
- 链表反转 (Multi-method)
链表反转是链表相关问题最基础的知识,做完LeetCode中LinkedList后才会有这种体会,因为ACM算法中不会涉及这一部分.解决这一问题有多种方法,在面试中面试官通常也会要求写出多种.包括sta ...
- css块级元素,内联元素,内联块状元素
块元素 什么是块级元素?在html中<div><p><h1><form><ul>之类的就是块级元素.设置display:block是就将元素 ...
- 【leetcode】Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- C# 通过服务启动窗体(把窗体添加到服务里)实现用户交互的windows服务[转发]
由于个人需要,想找一个键盘记录的程序,从网上下载了很多,多数都是需要注册的,另外也多被杀软查杀.于是决定自己写一个,如果作为一个windows应用程序,可以实现抓取键盘的记录.想要实现随系统启动的话, ...
- ASP.Net MVC的ViewBag一个坑,不要跳进去
如鹏的学习管理系统是使用ASP.net MVC 5开发的,今天一个新版本发布后网站出现一个Bug,学生在下拉列表中选中的项再加载显示的时候发现仍然没被选中.详细一点说吧:假如有这样一个Action: ...
- Redhat Linux /etc/profile 与 /etc/bashrc 的区别
最近学习RHCE,在umask这里,书里说要修改/etc/profile和/etc/bashrc两个文件,却没有说明这两个区别.于是在上网查看之后倒是明白了各是怎么用的./etc/profile是对应 ...
- UWP开发随笔——使用SQLite数据库
摘要 大多数的app都需要数据存储,在数据存储这方面,强大的windows把app数据分为两种:settings和files,并提供了十分简洁的api,让开发者能够轻松使用.但是在有些场景下,app的 ...
- Spring-Context之六:基于Setter方法进行依赖注入
上文讲了基于构造器进行依赖注入,这里讲解基于Setter方法进行注入.在Java世界中有个约定(Convention),那就是属性的设置和获取的方法名一般是:set+属性名(参数)及get+属性名() ...