最详细原创phpstorm添加xdebug调试功能

转载请注明出处-https://www.cnblogs.com/TS-Alex/p/11302605.html 

1、安装环境

php:7.2.21

xdebug版本:2.7.2

phpstorm版本:2019.2

nginx版本:1.12.2

2、安装过程

1、xdebug扩展的下载

先通过phpinfo()函数查看当前php版本 主要关注的信息如下

确定php的编译环境,运行系统以及是否是线程安全的 我的环境为

MSVC15 (Visual C++ 2017)x64  非线程安全

查询要如上信息之后到官网中下载xdebug扩展

我是在windows系统上搭建的web服务所以我下载的是windows版的动态链接库dll

下载地址为 https://xdebug.org/download.php

 

xdebug 分很多版本 有2.8的alpha版和2.8的betab版本 这里我下载的是2.7.2的稳定版 下载哪一个根据开始查到的phpinfo信息进行选择,我的php是VC15  X64 非线程安全的版本那么就下载下图所示的这个版本

 

 

2、xdebug扩展的安装

1、下载后的文件是一个dll文件,将这个文件重命名为php_xdebug.dll

2、将文件放在php的扩展文件夹里面 文件夹路径是php主目录-》ext文件夹

3、文件夹放置好后就是给php添加这个扩展,

打开php.ini文件 在扩展编辑的地方增加如下代码


 

[Xdebug]
zend_extension=E:\LocalServer\php-7.2.21-nts-Win32-VC15-x64\ext\php_xdebug.dll     ;加载扩展的位置
xdebug.profiler_output_dir="E:\php-7.2.21-nts-Win32-VC15-x64\xdebug" 
xdebug.trace_output_dir="E:\LocalServer\php-7.2.21-nts-Win32-VC15-x64\tmp\xdebug"
xdebug.remote_log="E:\LocalServer\php-7.2.21-nts-Win32-VC15-x64\xdebug\log\xdebug.log" ;日志记录位置
xdebug.remote_port=9001 ;xdebug监听端口
xdebug.collect_params=on
xdebug.collect_return=0
xdebug.remote_enable=1  ;开启远程调试
xdebug.auto_trace=on
xdebug.profiler_enable = Off 
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.remote_autostart=Off
xdebug.remote_handler = "dbgp" ;传输协议
xdebug.remote_host=127.0.0.1  
xdebug.idekey = "PHPSTORM"  ;IDE关键字


 

配置好后重启 php_cgi服务重新加载phppe配置文件 

重新输出phpinfo信息如果看到如下信息既表名xdebug扩展添加成功

 3、phpstorm的配置

 添加成功后打开phpstorm 配置idea

注意这里有一个大坑 如果你的phpstorm版本是比较老的版本但是你的php 和xdebug的版本较新可能会导致调试卡死,是由于xdebug的xml命名空间变更的缘故,这里建议安装最新版本的phpstorm软件-我安装的是2019.2  (我以前用的phpstorm以前是10.0.2只能调试php5.x版本的代码 php版本换成7.x怎么都不能断点逐步调试,每次代码只能段在入口文件的第一行就卡死了最后web服务器返回504)

3.1、Setting配置

File->Setting->Languages & Frameworks

PHP

 

 Debug

 

 

 DBGp proxy

Servers-这个配置的server是我们运行调试时选择的server

3.2运行配置

点击菜单栏的 RUN->Web Server Debug Validation

进行如下如所示配置

当setting配置好后并且已经正确开启了nginx 和 php_cgi 服务后点击Validate 按钮会显示调试环境是否配置成功全部显示√既表示配置成功 

 

4、进行断点调试

要调试就需要发送请求

这里我发送请求的方式有两种 

4.1 POSTMAN 调试

使用POSTMAN 调试接口的时候需要对请求的接口添加如下header

Cookie:XDEBUG_SESSION=PHPSTORM

4.2使用Chrom调试

使用Chrom调试需要借助xdebug helper 插件 这个可以在插件商店下载到,安装好后进行如下配置

 

 

 

上述配置好后即可对调试的页面打断点调试了,在调试前记得开启监听点击这个按钮

配置下运行的server 并开启监听

 

 注:我本机的9000端口被php_cgi占用了所以xdebug的监听端口我是用的是9001  配置前确定你用的端口没有被占用

posted @ 2019-08-05 13:57  路北区小喽喽  阅读(1015)  评论(0编辑  收藏  举报