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会话。