环境说明:

系统: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博客 https://www.joshua317.com/article/227

Windows系统下PhpStorm+Xdebug安装与调试的更多相关文章

  1. windows系统下GCC的安装与配置

    刚开始看 C++ Primer,看到编译器的部分,自己搜了搜怎么搭建GCC,搜到以下内容,复制过来留个印象: windows系统下GCC的安装方法,以及一些环境变量的配置,如果对GCC不是很清楚,关于 ...

  2. windows系统下如何正确安装Cygwin(图文详解)

    我的操作系统信息是 1.在官网https://cygwin.com/install.html下载win64位安装包 选择包的下载存放目录,点击“下一步”   为了使我们安装的Cygwin能够编译程序, ...

  3. Windows系统下Nginx的安装与配置

    Nginx是lgor Sysoev在2004年的时候为俄罗斯访问量第二大的rambler.ru站点设计开发的,发布至今,凭借开源的力量,已经接近成熟与完善.其功能丰富,可作为HTTP服务器,也可作为反 ...

  4. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

  5. windows 系统下git 的安装

    在linux系统下,可以直接在命令窗口安装和使用git.但是,在windows系统下,想要达到同样的效果,可以安装git,使用git bash到达效果.具体安装步骤如下: 第一步:官网上下载git 网 ...

  6. windows系统下 PHP怎么安装redis扩展

    在windows系统下安装redis就不赘述了,基本上就是下一步,下一步. 然后通过通过命令行启动服务. 我是在xamp 3.2.2的集成环境下进行本地redis扩展安装配置的,php的版本是5.6. ...

  7. Windows系统下Redis的安装

    Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. 最近 ...

  8. windows 系统下TortoiseGit 的安装

    git 常用的使用工具: Windows 支持下载安装TortoiseGit Mac 下 推荐使用 sourcetree Windows下的 TortoiseGit 安装 1. 进入 小乌龟官网 To ...

  9. Windows系统下consul的安装、启动、配置

    阅读时长:3分钟 操作系统:Windows10 一.consul的安装 首先在consul.exe文件目录下的地址栏中输入cmd. 接着输入consul指令,敲击回车安装consul. 安装成功后会有 ...

  10. windows系统下npm 全局安装路径问题

    安装了nodejs之后,npm的路径默认一直都是appData,表示很讨厌,于是尝试修改在安装目录(D盘空间很大啊) 安装目录:D:\program files\nodejs 一.在nodejs下新建 ...

随机推荐

  1. 小tips:HTML5的ruby标签实现给汉字加拼音、details标签实现折叠面板、原生进度条progress和度量meter

    ruby标签实现给汉字加拼音 ruby 元素由一个或多个字符(需要一个解释/发音)和一个提供该信息的 rt 元素组成,还包括可选的 rp 元素,定义当浏览器不支持 "ruby" 元 ...

  2. TypeScript – 冷知识

    当 generic return 遇上 parameter 报错了.原因是 querySelector 默认返回类型是抽象的 Element. 而 method 参数要求的是具体的 InputElem ...

  3. Yarn 3.0 Plug'n'Play (PnP) 安装和迁移

    前言 以前用 npm, 后来 yarn 火了就用 yarn. 后来 yarn 2.0 大改版, Angular 不支持就一直没用. 一直到去年的 Angular 13 才开始支持. 最近又开始写 An ...

  4. C#|.net core 基础 - 值传递 vs 引用传递

    不知道你在开发过程中有没有遇到过这样的困惑:这个变量怎么值被改?这个值怎么没变? 今天就来和大家分享可能导致这个问题的根本原因值传递 vs 引用传递. 在此之前我们先回顾两组基本概念: 值类型 vs ...

  5. cortex-m3 m4 异常机制

    文章写的很好,待整理 1.[STM32]HardFault问题详细分析及调试笔记 https://blog.csdn.net/m0_54916619/article/details/129979222 ...

  6. 智慧医院IT运维方案,全局网络态势感知

    随着医疗卫生体制改革不断深化,卫生行业信息化应用不断普及,大数据.AI.医疗物联网等技术的应用,快速推动"智慧医院"建设.以HIS(医院信息系统).EMRS(电子病历系统).PAC ...

  7. 如何更改Wordpress语言为中文

    在使用WordPress的时候,一般安装默认语言是英文,可以在后台设置里面直接修改站点语言为简体中文,当后台没有语言选项框的这一栏,如下图所示,该怎么办呢? 这个时候我们可以找到文件wp-config ...

  8. Windows下安装Nessus 10.8.3安装破解教程

    1.下载: 下载地址:https://www.tenable.com/downloads/nessus 浏览器访问 https://127.0.0.1:8834 重点:Register offline ...

  9. 使用composer创建项目时报错:Composer could not find the config file?

    使用composer创建项目时报错:Composer could not find the config file:C:\Composer ....? 一般报这个错就是composer安装的时候配置了 ...

  10. c#传统读取配置文件

    using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; namespace C ...