Windows系统下PhpStorm+Xdebug安装与调试

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Windows系统下PhpStorm+Xdebug安装与调试 - joshua317的博客

环境说明

系统Windows10

PhpStorm:2019.3.2

PHP版本:7.3.21

Xdebug版本 :2.7.2

一、Xdebug介绍

官网地址:https://xdebug.org/

1.1 什么是Xdebug

Xdebug是一个开放源代码的PHP程序调试器,其实就是一个Debug工具而已。可以用来跟踪,调试、分析PHP程序当前的运行状况!Xdebug作为PHP调试工具,提供了丰富的调试函数,通过开启自动跟踪(auto_trace)和分析器功能,可以比较直观的看到PHP源代码的性能数据,这为优化PHP代码提供了大大的方便。

1.2 为什么要使用Xdebug?

可能在项目开发当中 当你的业务代码复杂到一层又套一层的嵌套的时候, 或者说print_r 、 log 、 var_dump 这些打印方法也满足不了你的时候,并且你也没有在PhpStorm中配置过Xdebug 那么我建议可以尝试一下Xdebug来调试代码。

接下来记录一下PHP源代码性能调试工具Xdebug的安装以及配置

二、下载并安装Xdebug

2.1 确定系统使用的php的版本

创建一个php脚本文件phpinfo.php,并且可以访问

<?php
phpinfo();
?>

!!!重点!!!可以看出php的版本为7.3.21,64位的,且是线程安全

2.2 选择Xdebug版本

首先登录官网,官网地址:https://xdebug.org/,接着进入到Windows下载地址:https://xdebug.org/docs/install#windows, 然后点击download page页面

截止到文档记录时,Xdebug的版本为3.1.2。我们会发现针对php的版本,会有不同的Xdebug版本供下载。

其中TS代表线程安全,32bit或者64bit代表支持的电脑处理器是32位还是64位。注意下面的内容会比较重要。

2.2.1 Xdebug的版本选择版本-方式一

根据我们上面php的版本7.3.2, 64位且是线程安全的,我们理论上应该选择Xdebug的版本为PHP 7.3 VC15 TS (64 bit)。可以看到他的下载地址对应的Xdebug文件为php_xdebug-3.1.2-7.3-vc15-x86_64.dll

2.2.2 Xdebug的版本选择版本-方式二

根据官方提供了php版本适用哪个Xdebug的版本的工具选择Xdebug版本

进入的这个工具页面,地址为:https://xdebug.org/wizard,然后把phpinfo.php打印出来的印象粘贴到输入框中。点击下方的Analyse my phpinfo() output按钮。这个工具会给你推荐你要使用的工具版本,比如下面的图片显示,选择的Xdebug的版本为php_xdebug-3.1.2-7.3-vc15-x86_64.dll,和我们第1种选择的版本是一样的。

敲重点另外虽然这里能够帮助分析出合适的xdebug版本, 但检测出来的版本也不一定就是匹配正确的! 如果安装过程中,出现问题比较多,就多换几个低版本的试试!

2.2.3 Xdebug的版本选择版本-方式三(重点!!!)

重点!!!重点!!!虽然官方推荐我们使用的版本是3.1.2,但是考虑到下面的原因

1 3.0跟2.0的配置参数写法有些不一样,并且并彻底修改了设置参数
2 如果你phpStorm版本比较低,那么 PhpStorm的检查脚本可能还没有完全更新 使用Xdebug3.x版本集成还有一定的兼容性问题 

注意,从上图我们可以看到Xdebug3.1.2版本里面参数设置和Xdebug2.x的版本都不大一样了,出现了大量的(setting renamed in Xdebug 3

所以我们选择的版本为2.x最新的版本2.7.2。因为开始选择了使用了3.1.2走了很多弯路,所以要根据自己的实际情况进行选择。

在下载页面:https://xdebug.org/download的下方,点击compatibility matrix,可以查看到Xdebug版本支持的php版本

xdebug和php版本的对应如下图:

2.2.4 选择Xdebug2.7.2版本

在下载页面:https://xdebug.org/download的下方,点击compatibility matrix,可以查看到Xdebug的历史发布版本。然后我们找到对应的Xdebug2.7.2版本进行下载,根据系统安装php的版本,选择了PHP 7.3 VC15 TS (64 bit),下载地址为:https://xdebug.org/files/php_xdebug-2.7.2-7.3-vc15-x86_64.dll

2.2.5 安装Xdebug2.7.2版本

将下载的php_xdebug-2.7.2-7.3-vc15-x86_64.dll文件移动到php安装目录的ext目录下(如:C:\MyProgram\wamp64\bin\php\php7.3.21\ext),然后重命名为php_xdebug.dll

2.2.6 配置php.ini

打开php.ini文件,所在目录为:C:\MyProgram\wamp64\bin\php\php7.3.21\php.ini,在其他扩展下方加入Xdebug配置信息。配置信息根据自己的实际需要进行调整。

[xdebug]
;xdebug库文件
zend_extension = xdebug
;是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0
xdebug.auto_trace = 1
xdebug.remote_autostart = 1
;异常跟踪
xdebug.show_exception_trace = 1
;错误跟踪
xdebug.show_error_trace = 0
;错误信息是否强制性显示;默认值: 0,设置为1时,不管PHP设置display_errors设置值是多少,错误信息将强制性一直显示
xdebug.force_display_errors = 1

;开启远程调试
xdebug.remote_enable = 1
;客户机ip
xdebug.remote_host = "127.0.0.1"
;客户机xdebug监听端,默认是9000
xdebug.remote_port = 9010
;用于远程调试的应用层通信协议
xdebug.remote_handler = dbgp

;是否开启调试内容
;打开xdebug的性能分析器,以文件形式存储
xdebug.profiler_enable = 1
;性能分析文件的存放位置,默认值为/tmp
xdebug.profiler_output_dir = "C:\MyProgram\wamp64\tmp\xdebug_tmp"
;性能分析文件的命名规则,默认值为cachegrind.out.%p
xdebug.profiler_output_name = cachegrind.out.%p
;函数调用跟踪信息输出文件目录,默认值为/tmp
xdebug.trace_output_dir = "C:\MyProgram\wamp64\tmp\xdebug_tmp"
;函数调用跟踪信息输出文件命名规则,默认为trace.%c
xdebug.trace_output_name = trace.%c

xdebug.cli_color = 1
xdebug.start_with_request = yes
xdebug.idekey = PHPSTORM
;是否允许Xdebug跟踪函数返回值,默认值为0
xdebug.collect_return = 1
;是否允许Xdebug跟踪函数参数,默认值为0
xdebug.collect_params = 1
;是否收集变量
xdebug.collect_vars = 1

2.2.7 查看Xdebug2.7.2扩展的安装

重点:添加配置文件后,重新启动服务,然后访问phpinfo.php文件,可以看到已经安装成功。

三、PhpStorm配置Xdebug

下面内容比较重点,仔细设置。

3.1 设置CLI Interpreter对应的php版本

打开PhpStorm,分别依次点击File | Settings | Languages & Frameworks | PHP

3.2 设置Debug

打开PhpStorm,分别依次点击File | Settings | Languages & Frameworks | PHP | Debug

3.3 设置DBGp Proxy

打开PhpStorm,分别依次点击File | Settings | Languages & Frameworks | PHP | Debug | DBGp Proxy

IDE kye保持和php.ini里面的xdebug.idekey一致,host是你的服务器ip或者是已经可以解析的域名,或者本地就直接写localhost 或 127.0.0.1,port可以自选,一般默认选80就好了

3.4 设置servers

打开PhpStorm,分别依次点击File | Settings | Languages & Frameworks | PHP | Servers,添加+号添加一个服务:

Name 填写一个名称,如xdebug-test,这个自己命名即可;

Host 填写配置当前服务器ip或localhost;

port是默认80端口,也可以根据你的配置填写自己的web端口号,我的是8000

debug选Xdebug

3.5 测试Xdebug配置

首先确保你的服务是正常开启的,然后打开PhpStorm,分别依次点击File | Settings | Languages & Frameworks | PHP | Debug,点击Validate,会弹出Validate Debugger Configuration on Web Server对话框。因为此次记录主要针对本机的服务进行调试,所以选择Local Web Server or shared Folder

Path to create Validation script 填写创建验证脚本的路径,也就是你的服务站点路径地址,此处一定要确保你项目的可执行路径地址设置正确

Url to validation scrip 验证脚本的Url地址 也就是你的解析好的域名网络地址目录,我的服务地址是http://127.0.0.1:8000

!!!重点!!! Information处显示的信息全部打钩才算配置成功,否则可能配置有误,或者Xdebug版本有问题。

四、断点调试

整了那么多,咱们一起校验下断点调试咋玩。

4.1 创建php脚本

在项目中创建测试的脚本,此处还是使用phpinfo.php文件,然后在每行点击下,可以添加断点的行。

<?php
$a = 1;
$b = 2;
$c = $a + $b;
$d = rand(0,10);

var_dump($d);

$e = function () {
  return "hello";
};

4.2 打开debug

点击debug图标和监听

4.3 断点调试

访问脚本进行调试,浏览器中执行地址,http://127.0.0.1:8000/phpinfo.php;注意要确保你的路径是可访问的。Debug区域就可以看到我们断点的信息。

如果对debug使用不清楚的话,可以参考下之前Java编辑器Idea的debug功能使用。这里就不在赘述了。文档地址:IntelliJ IDEA Debug

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Windows系统下PhpStorm+Xdebug安装与调试 - joshua317的博客

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
本地环境的搭建和配置是进行开发工作的基础,以下是xampp、phpstormxdebug和chrome的配置和断点调试的步骤: 1. 安装和配置XAMPP: - 下载并安装XAMPP,它是一个集成了Apache、MySQL和PHP的开发环境。 - 打开XAMPP控制面板,启动Apache和MySQL服务。 - 在浏览器地址栏输入localhost,确认XAMPP是否正常运行。 2. 安装和配置PHPStorm: - 下载并安装PHPStorm集成开发环境。 - 打开PHPStorm,创建或导入你的项目。 - 在设置中的PHP选项中配置PHP可执行程序路径,选择XAMPP中的php.exe文件。 - 配置项目的运行/debug配置,选择Xdebug作为调试引擎。 3. 配置Xdebug: - 打开xampp\php\php.ini文件,在文件末尾添加以下代码: ``` [Xdebug] zend_extension = path_to_xampp\php\ext\php_xdebug.dll xdebug.remote_enable = 1 xdebug.remote_handler = dbgp xdebug.remote_host = localhost xdebug.remote_port = 9000 ``` 4. 配置Chrome浏览器: - 在Chrome浏览器中安装Xdebug Helper插件。 - 点击插件图标,选择设置,将IDE Key设置为PHPStorm。 - 启用Xdebug Helper插件,并确保它为绿色以表示调试已启动。 5. 调试代码: - 在PHPStorm中设置断点,可以通过点击代码行号来设置断点。 - 在Chrome浏览器中访问你的网页应用。 - 当代码运行到断点处时,PHPStorm会自动跳转到调试模式并在IDE中显示当前状态。 - 你可以使用PHPStorm调试工具栏来控制代码的执行、查看变量的值以及观察程序的执行流程。 通过以上步骤,你可以在本地环境中使用XAMPP、PHPStormXdebug和Chrome进行代码的断点调试。你可以设置断点、监控变量的值,以及通过PHPStorm调试工具栏控制代码的执行流程,这将有助于你更有效地调试和排除代码中的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值