XDebug是什么

很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,虽然对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确。但是,对于一个大的项目经过长时间的积累以后,你会发现性能越来越慢,而性能到底消耗在了什么地方,常常是一个令人头疼的问题,function a()调用了多少次,function b()又消耗了多少时间,我们到底怎么查找是哪个蛀虫拉慢了我们的程序运行速度呢?在这里给大家介绍一款工具xdebug。

XDebug是一个开放源代码的PHP程序调试(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

1、XAMPP 配置

1.1>安装XMAPP

至于安装么,大家都是程序员,我想这个应该不需要我赘述了...

1.2>下载xdebug软件

可去官方网站下载 http://xdebug.org/

注意下载的版本一定要与你本地的php版本一至。不过,如果你不知道自己本地的相关信息,则可以通过如下步骤,让          Xdebug为告诉你应该下载哪个版本:

a.在本地新建一个php文件。内容如下:

<?php

phpinfo();

?>

b.浏览器中访问该文件。

c.将页面中的信息全选COPY到http://xdebug.org/wizard.php中,然后提交,然后XDEBUG会告诉你应该下载哪个版本            了。

d.将下载下来的xdebug文件放入到xampp目录下的php文件夹下的ext目录下。

1.3>xdebug配置

a.修改本地xmapp的php.ini文件,在php.ini末尾加入以下内容

[xdebug]

zend_extension=zend_extension=E:\xmapp\php\ext\php_xdebug-2.5.1-5.6-vc11.dll(此处就是你之前下载的      xdebug文件对应的路径)

xdebug.remote_autostart=on

xdebug.remote_enable=on

xdebug.remote_enable=1

xdebug.remote_mode="req"

xdebug.remote_log="/var/log/xdebug.log"

xdebug.remote_host=localhost/127.0.0.1

xdebug.remote_port=9000

xdebug.remote_handler="dbgp"

xdebug.idekey="PhpStorm"

b.修改完之后,重启服务器(也就是xampp)。

验证Xdebug是否安装成功下面提供两种检查方式

1.创建php文件,文件的内容为<?php
phpinfo(); ?> 将浏览器的输出信息全选之后,黏贴到http://xdebug.org/wizard.php的文本框内并提交。如果系统成功安装了Xdebug那么在第一项Xdebug installed出会显示当前Xdebug的;如果安装不成功的话,则会显示no。

2.在CMD里输入E:\xmapp\php\php.exe -m 如果Xdebug安装成功则会看到此模块。


2
PHPSTORM设置

1)打开phpStorm,进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug

2)进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认

3)进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 PHPSTORM,host 填localhost,port 填80

点OK退出设置

4.浏览器设置

打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具(请看本文第5部分)。工具设置里的IDE KEY填上PHPSTORM,把localhost加入到白名单。(加不加入白名单都可以,主是要加入之后,页面只有在访问localhost时才会显示xdebug图标)

下面以chrome下的xdebug helper例

1)下载:http://www.chromein.com/crx_11294.html

2)下载之后,进入谷歌浏览器的扩展应用页面,并将下载下来的.crx程序拖入该页面,完成安装。

3)安装成功后单击选项按钮,设置xdebug helper的IDE KEY参数为phpstorm。

4)安装完成xdebug helper后再浏览器地址栏的右侧能够看到一只小爬虫,点击后如下图所示:

选择Debug,就会通知你的开发环境接下来的代码需要开始调  试;选择disable,就会直接运行。

5)进入phpstorm,打开你要启动的文件,选择Run>Start Listening for PHP Debug Connections (监听器)。也可以使用右上角如电话一样的按钮。

6)打好第一个断点,在chrome浏览器里启动XDebug工具,访问localhost相应文件,与phpStorm连接成功!

5.说明

为什么要设置浏览器----激活Xdebug的调试器。当然激活调试器还有另外一种方法,是通过配置文件来实现,由于相对较为麻烦,此处略过。

另一种方法激活xdebug是在浏览器运行时通过安装以下四个浏览器扩展之一。下面的每一个扩展都允许你通过单击个按钮就可以开启调试器。 这些扩展如下:

1.easiest Xdebug for Firefox
这个扩展是Firefox上用于使得与IDE一起调试起来更加容易。你可以在https://addons.mozilla.org/en-US/firefox/addon/the-easiest-xdebug/上找到这个扩展.

2.Xdebug Helper for Chrome
这个扩展是运行在Chrome浏览器上的,它将会帮助你通过点击一下按钮就可以允许/禁止调试和性能分析。你可以在https://chrome.google.com/extensions/detail/eadndfjplgieldjbigjakmdgkmoaaaoc找到这个扩展.

3.Xdebug Toggler for Safari
这个扩展是运行在Safari上的,允许你在Safari中自动的开始Xdebug调试过程,你可以在Github上找到这个扩展https://github.com/benmatselby/xdebug-toggler.

4.Xdebug launcher for Opera
这个扩展是运行在Opera上的,它允许你在Xdebug上开启一个Xdebug会话。

在xampp与phpstorm环境下安装xdebug[转]的更多相关文章

  1. [新手]在macOS环境下安装xdebug

    使用环境 masOS 10.12 使用MAMP安装的PHP环境   在新安装的系统中,安装xdebug,遇到了一些小问题;   P.S. 重新按照xdebug官网的指南安装了一次,把上次安装失败的xd ...

  2. 在 xampp 环境下安装 laravel

    网上搜了很多教程,很多都是采用命令行安装的.但是对于web前端来说,根本就不知道在干吗! 于是,打算写一篇文章,来教后面的人如何在 XAMPP 环境下安装 laravel. 初步认识 XAMPP(Ap ...

  3. windows环境下安装yaf框架

    windows环境下安装yaf框架 在windows下安装yaf框架 准备工作: php环境(过程略,wamp,xampp,phpstudy都行,php版本大于5.3) git工具(需要从github ...

  4. 【转】windows环境下安装win8.1+Mac OS X 10.10双系统教程

    先要感谢远景论坛里的各位大神们的帖子  没有他们的分享我也不能顺利的装上Mac OS X 10.10! 写这篇随笔主要是为了防止自己遗忘,同时给大家分享下我的经验. 本教程适用于BIOS+MBR分区的 ...

  5. 在 windows 环境下安装 redislive

    这是一篇在 windows 环境下安装 redislive 的教程! 项目地址:https://github.com/nkrode/RedisLive 配置文档:http://www.nkrode.c ...

  6. windows环境下安装win8.1+Mac OS X 10.10双系统教程

    首先要感谢远景论坛里的各位大神们的帖子  没有他们的分享我也不能顺利的装上Mac OS X 10.10! 写这篇随笔主要是为了防止自己遗忘,同时给大家分享下我的经验. 本教程适用于BIOS+MBR分区 ...

  7. Linux环境下安装Tigase XMPP Server

    Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下 ...

  8. 【Oracle】在WIN NT 64位环境下安装win64_11gR2_database。并用PL/SQL连接

    因为现在大多数服务器环境均为64位环境,而且有一部分使用的windows server的环境,在此做了一番小研究,如何在64位环境下安装oracle11g_64bit服务端 (1)首先www.orac ...

  9. linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)

     linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg) 2013-11-10 16:51:14 分类: 系统运维 为什么要写这篇文章? 答:通过常规的三大步(./confi ...

随机推荐

  1. Redis学习笔记之底层数据结构

    1.简单动态字符串(simple dynamic string, SDS) 定义: struct sdshdr {        int len;//记录buf中使用的字节数量        int ...

  2. Daily Scrum NO.8

    工作概况 今天是周六,虽然由于工作紧张要求这一日也定为工作日,但是也许是因为昨日大家工作做得较多或者周末的缘故,今天的进展状况并不理想.线程池和异常清理器的后端已经完成,而清理器的界面和动态爬取仍旧没 ...

  3. LINUX内核分析第四周学习总结——扒开系统调用的“三层皮”

    LINUX内核分析第四周学习总结--扒开系统调用的"三层皮" 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC ...

  4. linux读书笔记(5章)

    linux读书笔记(5章) 标签(空格分隔): 20135328陈都 第五章 系统调用 5.1 与内核通信 系统调用 让应用程序受限的访问硬件设备 提供创建新进程并与已有进程通信的机制 提供申请操作系 ...

  5. Daily Scrum - 11/26

    Meeting Minutes 今天是Sprint 3第一天,任烁向我们交代了他那边的代码情况,他这两天回学校有点事,人千和章玮暂时先熟悉一下他写的那部分,正在试图将代码merge起来.重阳实现了进度 ...

  6. ElasticSearch 2 (22) - 语言处理系列之标记规范化

    ElasticSearch 2 (22) - 语言处理系列之标记规范化 摘要 将文本拆解成标记只是工作的一半.为了使这些标记更容易被搜索到,它们需要经过一个规范化的处理过程,以移除相同单词间不重要的差 ...

  7. MySQL中EXPLAIN解释命令 查看索引是否生效

    explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如: expla ...

  8. google学术登陆不上的解决办法

    打开我的电脑,依次打开C盘,Windows,System32,drivers,etc 即C:\Windows\System32\drivers\etc   用记事本打开etc文件夹中的hosts. 在 ...

  9. Vue入门---属性、style和class绑定方法

    一 .用对象的方法绑定class <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  10. Java线程池 与Lambda

    七.线程池.Lambda 1.1基本概念: ​ 线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多的资源. 1.2线程池的好处: ...