docker安装使用xdebug

docker安装使用xdebug
1、需要先安装PHP xdebug扩展
1.1 到https://pecl.php.net/package/xdebug下载tgz文件,下载当前最新稳定版本的文件。然后把这个tgz文件放到php/extensions目录下,记得install.sh中要替换解压的文件名: installExtensionFromTgz xdebug-3.2.2
在这里插入图片描述

1.2 php.ini可以提前设置好一些xdebug配置信息:

xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.mode=debug
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.idekey=PHPSTORM

1.3 修改php镜像配置之后,重新构建镜像:docker compose build php。然后重新启动镜像:docker compose up -d
1.4 执行phpinfo()之后,查看是否有生成xdebug信息。

2、修改phpstorm debug配置
参考文档:
https://learnku.com/articles/51381
https://www.jetbrains.com/help/phpstorm/2021.3/configuring-xdebug.html

先说自己踩到两个坑:
1、配置Servers的时候,填写项目地址,需要填写docker容器里的目录。比如(www/php_demo)
在这里插入图片描述

2、安装xdebug不同版本对应填写在php.ini的参数是不一样的。
文档地址:https://www.jetbrains.com/help/phpstorm/2021.3/configuring-xdebug.html
在这里插入图片描述

xdebug2版本:

xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host=host.docker.internal
xdebug.remote_port = 9003
xdebug.remote_log = /var/log/php/xdebug.log
xdebug.idekey=PHPSTORM

xdebug3版本:

xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.mode=debug
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.idekey=PHPSTORM

接下来详细讲一下PHPSTORM配置过程:
1、配置Server
在这里插入图片描述

2、配置Debug port
在这里插入图片描述

3、编辑项目的debug配置
在这里插入图片描述

4、启动debug
在这里插入图片描述

5、调试debug

5.1浏览器调试
1、在 Google 浏览器插件市场中下载 Xdebug
在这里插入图片描述

2、右键点击 Xdebug 图标选择选项点击进入配置页面将 IDE Key 设置完整保存。
在这里插入图片描述

3、设置好就可以请求接口了,可以查看headers头部是否有携带XDEUG_SESSION:
在这里插入图片描述

5.2、postman调试
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141450.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Vue 组件开发总结

Vue 组件开发思路 1. 组件划分 首先,你需要明确定义组件的划分。将大型界面划分为小型、可重用的组件是一个关键步骤。这有助于提高代码的可维护性和可复用性。 2. 组件设计 在设计组件时,考虑组件的输入(props)和输出&#xf…

数据库常用指令

检查Linux系统是否已经安装了MySQL: sudo service mysql start

手把手教你使用PLSQL远程连接Oracle数据库【内网穿透】

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…

浅谈智能照明控制系统在体育馆中的应用

【摘要】在社会经济日益发展的今天,人们的物质文化水平都有着不同程度上的提高。与此同时人们更加追求高质量的工作和生活环境。照明在现代化的多功能体育场馆中是非常重要的一个环节。智能化的照明控制系统能够根据环境的变化以及客户的需求等条件来自动调节照明系…

数据中心市场现状及发展趋势分析

随着数字化转型的加速,数据中心在中国的市场需求日益增长。本文将分析2023年中国数据中心市场的现状,并探讨其未来发展趋势。 一、2023年中国数据中心市场现状 市场规模:2023年中国数据中心市场的规模已经相当庞大,达到了数百亿美…

Bigemap如何查看历史影像

工具 Bigemap gis office地图软件 BIGEMAP GIS Office-全能版 Bigemap APP_卫星地图APP_高清卫星地图APP 很多人都在寻找历史影像图,这块的需求是非常大,历史影像一般可以用于历史地貌的变迁分析,还原以前的生态场景,对范围面积…

由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题的”修复方案

在Windows操作系统中,msvcp140.dll是一个非常重要的动态链接库文件,它是Microsoft Visual C 2015 Redistributable的一部分。这个文件主要用于支持许多应用程序的正常运行,例如Microsoft Office、SQL Server等。当计算机上缺少msvcp140.dll文…

Django(21):使用Celery任务框架

目录 Celery介绍Celery安装Celery使用项目文件和配置启动Celery编写任务调用异步任务查看任务执行状态及结果 设置定时和周期性任务配置文件添加任务Django Admin添加周期性任务启动任务调度器beat Flower监控任务执行状态Celery高级用法与注意事项给任务设置最大重试次数不同任…

ChatGPT详细搭建教程+支持AI绘画

一、AI创作系统 SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧&#x…

eCognition易康操作教程(一):如何利用eCognition易康软件进行影像分割之棋盘分割、四叉树分割、光谱差异分割

一、新建工程 使用eCognition新建工程ImageSegmentation,加载影像数据,并编辑图层名称,将Layer 1、Layer 2、Layer 3、Layer 4的 Layer Alias 分别改为 Blue、Green、Red、如图1-1,图1-2所示: 图 1-1 图 1-2 设置加载…

大型监控网络设备架构

IT监控架构的功效日益突出,已成为企业信息化建设不可或缺的一部分。本文将详细介绍IT监控架构的含义、构成、功能及其在公司中的应用。 IT监控架构的含义是什么? 简单来说,IT监控架构就是利用一系列技术和方法对公司的IT系统进行全方位的监控…

unable to access xxxx: Failed to connect to xxxx

问题: 1、GitLab仓库加上双重验证后,设置GIt得 Manage Remotes时报错 unable to access xxxx: Failed to connect to xxxx SSL certificate problem:self signed certificate 解决 1、返回前面得操作步骤检查了一遍 没有问题 2、最后尝试一些方法解…

微信收款码费率0.38太坑了

作为一个有多年运营经验的商家,我本人在申请收款功能时曾经走过了不少弯路。我找遍了市面上的知名的支付公司,但了解到的收款手续费率通常都在0.6左右,最低也只能降到0.38。这个过程吃过不少苦头。毕竟,收款功能是我们商家的命脉&…

java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

.NET 8 性能比 .NET 7 大幅提升

微软 .NET 开发团队的工程师 Stephen Toub 发表博客《Performance Improvements in .NET 8》,详细介绍了 .NET 8 中的性能改进。 介绍了 .NET 8 的性能表现,包括 JIT、原生 AOT、VM、GC、Mono、线程、文件 I/O、网络、JSON 处理、日志等。 .NET 7 was s…

公网远程访问GeoServe Web管理界面【内网穿透】

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入…

商品秒杀系统整理

1、使用redis缓存商品信息 2、互斥锁解决缓存击穿问题,用缓存空值解决缓存穿透问题。 3、CAS乐观锁解决秒杀超卖的问题 4、使用redission实现一人一单。(分布式锁lua)脚本。 5、使用lua脚本进行秒杀资格判断(将库存和用户下单…

一个关于 i++ 和 ++i 的面试题打趴了所有人

前言 都说大城市现在不好找工作,可小城市却也不好招人。 我们公司招了挺久都没招到,主管感到有些心累。 我提了点建议,是不是面试问的太深了,在这种小城市,能干活就行。 他说自己问的面试题都很浅显,如果答…

计算机等级考试—信息安全三级真题六

目录 一、单选题 二、填空题 三、综合题 一、单选题

线性代数基础-行列式

一、行列式之前的概念 1.全排列: 把n个不同的元素排成一列,称为n个元素的全排列,简称排列 (实际上就是我们所说的排列组合,符号是A,arrange) 2.标准序列: 前一项均小于后一项的序列…