VSCode和PhpStorm配置进行PHP断点调试
本文环境:php版本:5.4.45 (phpstudy),Xdebug 2.4.1(phpstudy文件夹中自带),phpstorm 2021.3
为啥是这么老的版本呢?
因为在改老项目,其它版本应该都是类似的。
PHP配置
要在php的配置文件中指定Xdebug的路径,和它的一些配置,具体在php.ini文件中,配置以下内容(路径要对应修改):
[XDebug]
xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"
xdebug.trace_output_dir="D:\phpStudy\tmp\xdebug"
zend_extension="D:\phpStudy\php\php-5.4.45\ext\php_xdebug.dll"
xdebug.profiler_enable=on
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
关于Xdebug
- 官网:https://xdebug.org/
- 若是不知道要下哪个版本的Xdebug的话,可以将
phpinfo();输出的信息,放在下面这个地址:
https://xdebug.org/wizard

它会自动帮你分析,当前php所对应的版本,让你下载。当然还有一种可能,它会说你当前的版本不支持,可以选择相近的版本尝试下。
浏览器配置(插件安装)
- 需要安装Xdebug helper插件,商店地址:https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
无法下载则可使用我上传到网盘的:https://cloud.189.cn/t/6zyMnajyamaq (访问码:is3y)

安装好后右键进入配置,也是设置idekey,就是php.ini对应的。

开启调试

使用PHPStrom配置
- 在设置中指定Xdebug的端口相关,就是上面php.ini中配置的:

- 这里要开启对debug的监听:

使用VSCode配置
开始是使用VScode开发的,找了挺多教程都断点不了,而且公司电脑装PHPStom要申请,然后在自己电脑上装了PHPStorm下来,然后再看了下拓展的文档,VScode也能断点了。
其实主要就是之前的浏览器插件没装(看了挺多教程都没提到)
PHP Debug Adapter for Visual Studio Code(文档):
https://github.com/xdebug/vscode-php-debug/blob/main/README.md
在完成了之前的php配置,和浏览器配置后。要在VSCode中断点调试PHP的话要装一个插件
PHP Debug。

然后进行了调试菜单,点击运行调试,或者点运行边上的小齿轮图标,可以看到调试运行配置的JSON,修改其端口号与php.ini中相同,保存后就可以进行调试了。
点击查看代码
```json
{
linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 0,
"runtimeArgs": [
"-dxdebug.start_with_request=yes"
],
"env": {
"XDEBUG_MODE": "debug,develop",
"XDEBUG_CONFIG": "client_port=${port}"
}
},
{
"name": "Launch Built-in web server",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-S",
"localhost:0"
],
"program": "",
"cwd": "${workspaceRoot}",
"port": 9000,
"serverReadyAction": {
"pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
}
]
}
```
断点调试
到此一切准备就绪,打上断点就可以在愉快的调试了。
- PHPSTORM:

- VSCode:

VSCode和PhpStorm配置进行PHP断点调试的更多相关文章
- 最新为Phpstorm配置xdebug 进行断点调试
额 ,曾经写过一个,现在发现不咋好使了 ,你说咋整,下载xdebug的时候 还得注意系统是32位还是64位,而且一堆下载文件不知道是哪个. 额,所以我现在发现有个更好的方法,啥也不下了 直接配把 ...
- PhpStorm使用之 —— Xdebug断点调试
PhpStorm使用之 -- Xdebug断点调试 在<XAMPP的配置与使用>中已经阐述了Xdebug插件的配置,Xdebug配置完成后,只需要在IDE工具中进行相关设置,便可启动Xde ...
- PhpStorm集成xdebug进行断点调试
本文介绍如何使用PhpStorm集成xdebug在本地开发环境进行断点调试的技巧. 我配置的环境是:Windows10 + PhpStorm10.0.1 + PHP5.6. 1. 下载xdebug的扩 ...
- phpStorm中使用xdebug断点调试php代码
配置好xdebug,也能使得phpstorm像java哪像跑断点调试,爽的一笔!!! 下载xdebug并配置 [XDebug] zend_extension=php_xdebug-2.4.0rc3-5 ...
- paip.php 配置ZEND DEBUGGER 断点调试for cli..
paip.php 配置ZENDDEBUGGER 断点调试for cli.. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:/ ...
- cocoscreator 2.04 配置 visual code 断点调试
1,cocoscreator ,chrome浏览器,visual code 这三个软件的安装 2,官网配置visual code 环境 https://docs.cocos.com/creator/m ...
- 本地环境 XAMPP+phpStorm+XDebug+chrome配置和断点调试
不明白phpStorm+XAMPP+chrome组合的phpStorm配置XDebug的断点调试,很多种网页办法都看过了,可用,但没达预期.QQ群问,一个大牛很奇怪我都配置了怎么还不正确,很干脆地说远 ...
- phpstorm配合xdebug进行本地调试代码
笔者在使用的环境是wamp3.1.6和phpstorm2018 ,php选择的环境是php7.2 1. 在php.ini中添加xdebug的配置信息 首先建议是先找对php.ini的位置,可以在php ...
- 史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置
在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开发环境,就我个人而言,比较推崇 Zend Studio 和 PhpS ...
- mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置
一.环境及软件 1.macbook pro 2.Phpstorm 3.MAMP PRO 4.FireFox 二.环境搭建 1.PhpStorm导入项目 下载PhpStorm并安装,网上随便找个注册码即 ...
随机推荐
- postgresql关于array类型有交集(包含查询数据任意元素,有重叠&&)的一些查询方法以及sqlalchemy语句实现
表接结构如下 class MachineFixDoc(Base): """ 设备报修单,代理或用户向公司申请报修 """ __tablena ...
- Win10下安装Maven 配置环境变量 设置settings
一.下载.设置环境变量 下载页面:https://maven.apache.org/download.cgi 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apa ...
- quartus之ram的IP测试
quartus之ram的IP测试 1.基本原理 ram,读取存储器,用于储存数据.基本的原理就是使用时钟驱动时序,利用地址区分位置,使用使能控制写入.输出的结果以写入的位宽输出. 2.实际操作 顶层代 ...
- 嵌入式C语言设计学习
由C语言到嵌入式C语言设计 1.C语言的特性 C语言,最为基本的高级编程语言,已经有许多其他的延伸.而在嵌入式设计中,主要的拓展内容就是相关的硬件设备的驱动.这部分的设计为其提供了更加灵活的应用环境. ...
- KingbaseES 垃圾回收原理以及如何预防膨胀更新
背景 KingbaseESV8R6支持snapshot too old 那么实际工作中,经常看到表又膨胀了,那么我们讨论一下导致对象膨胀的常见原因有哪些呢? 未开启autovacuum,对于未开启au ...
- html中怎样获取子元素的索引位置
jQuery 的 index() 方法返回指定元素相对于其他指定元素的索引值, 注意:索引值是从0开始计数的. 获得当前元素的索引值可用click事件触发 1 $(selector).click(fu ...
- .NET Emit 入门教程:第六部分:IL 指令:3:详解 ILGenerator 指令方法:参数加载指令
前言: 在上一篇中,我们介绍了 ILGenerator 辅助方法. 本篇,将详细介绍指令方法,并详细介绍指令的相关用法. 在接下来的教程,关于IL指令部分,会将指令分为以下几个分类进行讲解: 1.参数 ...
- RedisTemplate 的简单使用
redisTemplate.opsForValue() 方法可以获得一个 Redis String 的操作类,通过该类可以执行一系列字符串类型数据的操作,例如获取.设置.删除数据等. // 示例 1: ...
- ArrayList,LinkedList,Vector三者的区别
List 中元素是有序的,元素可以重复,因为该集合体有索引 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高. 当元素放满了后,默认以原长度的 50%+1 的长度加长集合 ...
- #K-D Tree#BZOJ 4303 数列
题目传送门 分析 将 \((i,p_i)\) 视为一个点,那么相当于对横坐标或纵坐标对应的点区间乘.区间加或者区间求和, 把这些点丢到 K-D Tree 上,维护最小/大横/纵坐标,如果当前区间点在范 ...