Xdebug从安装到简单使用

本文为作者原创内容,未经许可,禁止转载。如您发现侵权行为,请联系我们

xdebug简介:

xdebug是一个开源的PHP程序调试器,用来跟踪,调试,分析PHP程序的运行状况。

xdebug下载与安装:
首先去官网(https://xdebug.org/download.php)下载与自己 PHP版本相对应的xdebug版本,什么?不知道自己的PHP版本号,在PHP中使用echo phpinfo()可以打印出PHP的基本信息。


最终根据我的PHP版本号下载了如下的dll文件    


把该文件放到PHP的默认的扩展文件夹中,我使用wamp集成环境,在电脑上的安装路径如下:

其实,放在哪个文件夹下没有硬性的要求,只是要在PHP配置文件中对路径进行标识就可以了。

把文件放在ext文件中之后,我们打开PHP的配置文件(php.ini),配置文件的具体路径可以根据上面的phpinfo页面中搜索Loaded Configuration File得到配置文件的路径如下:


找到php.ini文件并打开,在后面追加: 

[xdebug]
zend_extension="F:\wamp64\bin\php\php5.6.25\zend_ext\php_xdebug-2.4.1-5.6-vc11-x86_64.dll"
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
我在安装的真实路径是:"F:\wamp64\bin\php\php5.6.25\zend_ext\php_xdebug-2.4.1-5.6-vc11-x86_64.dll"
如果你放的是ext下,将zend_ext改为ext即可,其他语句的含义,稍后解释。

保存文件,重启服务器。

刷新phpinfo页面,搜索xdebug可以看到:
则说明xdebug安装成功。

现在来解释配置文件的参数的意义:
remote_enable:是否开始远程调试
remote_handler: 指定远程调试的处理协议默认dbgp
remote_host:指定远程调试的主机名
remote_port:默认端口号:9000
idekey: 指定传递给DBGp调试器处理程序的IDE Key

还有很多参数,具体参考官方文档:https://xdebug.org/docs/all_settings 如果看不懂英文,整理的表格放在了最后。

配置部分先放在这,后期如果用到,再根据需求进行更改。


简单使用:


我使用的是phpstorm, 首先在使用之前,我们需要进行简单的设置
进入file->settings->language & frameworks->php->servers 进行如下的设置:图中的jj.k2.com是我本地项目的域名,如果我想调试某个具体的页面逻辑,比如 jj.k2.com/index.php 
我可以在具体的调试界面进行配置/index.php然后连接上K2这个服务,如果是jj.k2.com/index.php?controller=test&action=test 可以在调试界面配置/index.php?controller=test&action=test

然后再连接上这个服务。具体配置,见下。




上图这个是服务的配置

配置好服务之后进入debug对端口进行如图的配置。



  

保存之后,在phpstorm的右上角找到如下图所示的位置,如果之前没有配置过,就是一个空框框,点击




一切准备好之后,打断点,然后点击右上角的“臭虫”标识,进行调试


页面进入到你刚才配置的jj.k2.com/seller.php,这可能不是你要的调试的界面,但是没关系,这只是一个入口,根据这个入口找到你要调试的页面,这样,xdebug监听到代码的执行之后,会从浏览器自动跳入phpstorm(有时候不会跳入,那就要手动打开IDE了),从第一个断点开始往下执行,按F9则让程序根据断点一步一步执行下去。    


如此可以得到断点调试的基本信息。