前言

之前2月份就开始配置xdebug,始终没有成功。

今天看到一篇写得挺详细的文章,心血来潮又折腾了下,可惜没成功。

验证始终说我配置错误

后面去阅读官方的文档,修改了些配置,居然搞成功了!!

nice

原因是在xdebug 3版本里,有些xdebug配置信息被丢弃或者更改了。

网上大部分的配置信息又都是以前的,难怪怎么配置都不成功。

比如以前的ip配置,端口配置

xdebug.remote_host
xdebug.remote_port

现在改成了

xdebug.client_host
xdebug.client_port

怪不得一直连不上,配置名都改了,根本就没读取到我们的参数。。

最后我去官网看配置介绍,根据大家以前写的配置照葫芦画瓢写了份新的配置。

限于我能力有限,这份配置还有许多不足之处,若遇到有问题请反馈给我。

平台环境

windows 10 2004 64位

phpstorm 2021

phpstudy

php版本: 7.4.3

注意我使用的是旧版本的phpstorm,如果是新版本的直接按照着分类大名找

配置流程

  1. 下载xdebug对应版本的dll文件
  2. 配置网站
  3. 配置php.ini
  4. 配置phpstorm
  5. 验证连接
  6. 安装浏览器调试插件

1、下载xdebug对应版本的dll文件

点开下面这个网址

https://xdebug.org/wizard

phpinfo()页面的信息复制进去,点击提交,弹出下载链接,选择下载

将下载的dll文件放到php\php版本\ext\里面

我的是

C:\phpstudy\Extensions\php\php7.4.3nts\ext\

2、配置网站

打开phpstudy

我的主域名是www.www

网站根目录是 c:\phpstudy\www

端口是80

根据你自己的网站配置进行更改

3、配置php.ini

进入相对应php版本的php.ini

末尾加上下面这些

[xdebug]
zend_extension = "C:\phpstudy\Extensions\php\php7.4.3nts\ext\xdebug.dll"
xdebug.mode= "debug"
#性能分析文件存放位置
xdebug.output_dir = "C:\phpstudy\tmp\xdebug"
#步骤调试器,应该是步入步进步出的吧
xdebug.remote_handler = "dbgp"
xdebug.idekey="PHPSTORM"
#由remote_host替换过来了,就写本机的就行
xdebug.client_host=127.0.0.1
#由remote_port替换过来了,调试端口
xdebug.client_port=2333

在php.exe目录下运行cmd执行.\php.exe -m

看到xdebug表示成功安装

4、配置phpstorm

  • 配置php服务



    配置的php版本是你装有xdebug的版本

  • 配置调试

端口与刚刚php.ini里边的xdebug.client_port一样

  • DBGp代理配置



    不用解释了,端口都是和php.ini里边的xdebug.client_port一样,主机填本机的。

  • 服务器配置



    我做有hosts域名解析的,www.www实际上就是127.0.0.1,你也可以直接填localhost, 只要你知道该域名指向的文件根目录在哪里就行了。

    后面验证会用到域名对应的文件根目录

调试器选xdebug

  • 创建配置



    新建php web page页面



    照着这样填就好了,默认浏览器填你喜欢用的,最好就火狐、chorme、edge这三个,后面还要安装插件

5、验证连接





url是刚刚phpstudy绑定的,脚本目录就是你url指向的文件根目录



比如我这个

6、安装浏览器调试插件

直接搜索xdebug helper。安装成功后右键进入扩展选项

安装这样配置,点击save

如果验证失败怎么办?

情况1



如果你的是这张图片,代表着你还没建立其web服务。

解决方式:

1、检查验证脚本路径和URL是否配置正确

2、是不是忘记运行web容器了

情况2



代表着你已经可以访问Web服务了,但是xdebug未能成功加载

解决方式:

1、检查phpstudy上面运行的php版本。必须要与你装载了xdebug的php版本一致

2、检查php.ini里的xdebug片段。可以用以下最简配置试下能否成功验证。

记得修改路径和port

[xdebug]
zend_extension="<path to xdebug extension>"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"

其他情况:

2021/8/24日添加

遇到下面这个问题。



如果确定其他步骤都正确了。那问题原因是验证脚本和验证url不指向同一个目录导致的。有以下两种解决方式。

方式一

方式二

按照上面都检查一遍,不行可以留言给我。

验证是否能够调试

  • phpstorm开启xdebug监听

  • 确保开启了phpstudy。或者运行了web容器

  • 点击调试

  • 成功捕获到数据

参考资料:

phpstorm配置xdebug 3.0最新教程!!!配置不成功的快看!的更多相关文章

  1. phpstorm配置Xdebug进行调试PHP教程

    运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...

  2. phpstorm配置Xdebug进行调试PHP教程_php技巧_脚本之家

    运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...

  3. phpstorm开启xdebug断点调试,断点调试不成功来这里

    感谢一下两篇博主的文章 其他的就... https://paper.seebug.org/308/ https://www.cnblogs.com/jice/p/5064838.html 首先安装xd ...

  4. 史上最走心webpack4.0中级教程——配置之外你应该知道的事

    <webpack4.0各个击破系列>适合不满足于只会配置webpack但一时间又看不懂源码的中级读者.我没法保证这个系列是最好的,但至少能保证每一篇博文都跟那些Ctrl+C和Ctrl+V的 ...

  5. PHPStorm配置xdebug(phpStudy/wamp)

    一.下载并配置XDebug wamp环境: 1.获取xdebug

  6. phpstorm调试配置 Xdebug

    这已经楼主第二次因为phpstorm的调试配置折腾了几个小时,这次一定要记下来!!! 以Xdebug chrome浏览器为例 一:安装 JetBrains IDE Support 二:安装 Xdebu ...

  7. phpstorm 配置 xdebug 详细教程

    作者:半船 来源:CSDN 原文:https://blog.csdn.net/yinhangbbbbb/article/details/79247331 花了一周多时间最详细的整理了PHPSTORM+ ...

  8. 使用zend studio配置Xdebug调试PHP教程

    这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...

  9. PhpStorm连接Docker容器配置xdebug断点调试

    本教程主要演示xdebug在PhpStorm中配置方法. 一.环境说明 1.Mac笔记本(本教程演示过程使用的是Mac OS操作系统,和windows环境是有区别的,这一点需要特别注意): 2.在Ma ...

随机推荐

  1. doctor学习(二) - contos7安装doctor

    1.更新update到最新的版本 yum  update 2.卸载老版本docker yum  remove docker  docker-common docker-selinux  docker- ...

  2. java的三大特性----封装、集成、多态

    当我们被问到你对java的封装.继承.多态是什么看法的时候,你会想到什么? 想到的会不会是封装就是将类的成员属性用privet修饰一下,达到私有化的目的,只暴露方法,从而达到成员变量私有化的目的. 而 ...

  3. GO语言基础(结构+语法+类型+变量)

    GO语言基础(结构+语法+类型+变量) Go语言结构 Go语言语法 Go语言类型 Go语言变量       Go 语言结构 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 &a ...

  4. Linux性能优化实战内存篇(五)

    一.Linux内存工作原理 1,内存映射 Linux内核给每个进程都提供了一个独立的虚拟空间,并且这个地址空间是连续的.这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存. 虚拟地址空间的内部 ...

  5. Centos7下开启防火墙,允许通过的端口

    1.查看防火墙状态 systemctl status firewalld 2.如果不是显示active状态,需要打开防火墙 systemctl start firewalld 3.# 查看所有已开放的 ...

  6. python轻松入门——爬取豆瓣Top250时出现403报错

    关于爬虫程序的418+403报错. 1.按F12打开"开发者调试页面"如下图所示:按步骤,选中Network,找到使用的接口,获取到浏览器访问的信息. 我们需要把自己的python ...

  7. Django项目常用的logging配置。

    做开发开不开日志,以下是我在工作中写Django项目常用的logging配置. LOGGING = { 'version': 1, 'disable_existing_loggers': False, ...

  8. 使用tc配置后端设备,来限制虚拟机网卡带宽

    如果通过tc来限制虚拟机网卡接收方向带宽呢,实际上使用tc对接收方向限制的不够好,使用tc ingress可以限制接收,但是功能不够多,而且会形成丢包问题.一般是采用将流量重定向到一个虚拟设备ifb上 ...

  9. 对路径“C:\inetpub\wwwroot\Test\Temper\”的访问被拒绝 【已解决】

    在IIS7上部署IIS站点时,出现如下错误: 对路径"C:\inetpub\wwwroot\Test\Temper\"的访问被拒绝: 原因是:程序对"C:\inetpub ...

  10. C# WinForm 解决子窗体放大后,子窗体图标放大的问题

    解决子窗体放大后,子窗体的图标占用主窗体的菜单栏的问题. C#子窗体最大化时, 那个图标跑到主窗体的前面去了, 造成界面不统一也不美观. 所以需要进行处理, 只要有主窗体的菜单ItemAdded事件中 ...