首页 > 编程语言 >Docker + Visual Studio Code IDE实现PHP Xdebug调试

Docker + Visual Studio Code IDE实现PHP Xdebug调试

时间:2024-06-21 09:55:58浏览次数:26  
标签:Code remote xdebug Visual Xdebug docker php PHP

目录

一、前期准备

1、安装 VSCode 软件;

2、在 VSCode 中安装 PHP Debug 插件;

3、安装好 Docker

4、在容器中 php 中安装安装 Xdebug 扩展

根据这个链接操作即可: Xdebug安装指南
把php环境的 phpinfo()全部copy进去,会自动获得xdebug的安装文件以及安装指导!

具体参考下面的文档

https://www.cnblogs.com/itsharehome/p/11462587.html

二、配置文件

1. Visual Studio Code IDE配置

配置vs_code里的 PHP Debuglaunch.json 文件

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            // "hostname": "192.168.1.8",
            "port": 9001,  //要和php.ini中的xdebug.remote_port一致
            "pathMappings": {
                //宿主主机项目根目录:容器内的项目根目录 不用写到public目录
                "/www/youtaikeji/ytss_server":"/Users/youtai/code/wwwroot/youtaikeji/ytss_server"
            }
        }
    ]
}

2、配置 dockerphpxdebug.ini

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = "dbgp"
; Set to host.docker.internal on Mac and Windows, otherwise, set to host real ip
; xdebug.remote_host = host.docker.internal
xdebug.remote_host = 192.168.2.47 # 宿主机的ip地址
; 监听的端口,vs_code编辑器中启动xdebug时,也要写这个端口,不建议设置9000,避免与php-fpm监听端口冲突
xdebug.remote_port = 9001 
xdebug.remote_log = /var/log/php/xdebug2.log

SERVER_ENV=develop

yaf.use_spl_autoload=1

注意:配置完成后需要重启对应docker容器,为避免配置失效,请使用docker commit命令提交保存镜像修改。

三、开始调试

1、vscode中按F5,开启调试模式

2、请求docker路径...

参考文档

标签:Code,remote,xdebug,Visual,Xdebug,docker,php,PHP
From: https://www.cnblogs.com/haima/p/18259942

相关文章

  • LeetCode热题100-第2题
    题目:49.字母异位词分组-力扣(LeetCode)给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["......
  • 这几个必备的vscode插件,你安装了几个
    作为一名前端开发者,vscode想必大家应该都接触过,就像大多数IDE一样,VSCode也有一个扩展和主题市场,包含了数以千计质量不同的插件。作为一名熟练掌握各种前端开发工具安装和卸载的大师兄来说,为大家安利好玩有用的工具插件是我义不容辞的责任,所以我精挑细选了九款必备的vscode插件......
  • 【论文翻译】DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in C
    本翻译来自大模型翻译,如有不对的地方,敬请谅解引言开源社区通过开发诸如StarCoder(Li等人,2023b;Lozhkov等人,2024)、CodeLlama(Roziere等人,2023)、DeepSeek-Coder(Guo等人,2024)和Codestral(MistralAI,2024)等开源代码模型,在推进代码智能方面取得了显著进展。这些模型的性能已稳步接近......
  • 【LeetCode】215.数组中的第K个最大元素
    题目描述给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:[3,2,1,5,6,4],k=2输出:5示例2:输入:[3,2......
  • 【异常】nested exception is java.lang.NoClassDefFoundError: redis/clients/jedis/
    原因是版本冲突。以下我原本使用的版本信息<!--SpringBootRedis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.1.8.RELEASE</version><......
  • LeetCode 热题100 --哈希
    哈希哈希,有限空间映射一个无限的空间。在空间内,有序化进行快速查询。用空间换时间。1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数......
  • SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes
     SyntaxError:(unicodeerror)'unicodeescape'codeccan'tdecodebytes报错解释:这个错误通常发生在Python代码中,当你尝试使用包含反斜杠(\)的字符串时。在Python中,反斜杠通常用于开始转义字符序列。例如,\n 代表一个换行符。在字符串前加 r 可以阻止这种转义,但是......
  • vs code 搭建 vue 3.0+Element-ui
    前言根据上一篇文章,通过vue-cli3.0创建了一个vue项目 https://www.cnblogs.com/FTAH/p/12427997.html 1.在当前项目中加入Element-ui前端框架1.首先在官方网站的这一页我们发现要安装框架 https://element.eleme.cn/#/zh-CN/component/installation 注意这里提供了......
  • Leedcode【222】. 完全二叉树的节点个数——Java解法(递归)
    Problem: 222.完全二叉树的节点个数题目思路解题方法复杂度Code效果题目给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的......
  • Leedcode【146】. LRU 缓存——Java实现
    Problem: 146.LRU缓存思路解题方法复杂度Code效果思路使用一个双向链表来维护缓存的访问顺序,最近使用的节点在链表头部,最久未使用的节点在链表尾部。使用一个哈希表来存储缓存中的键值对,哈希表中的键对应双向链表中的节点。解题方法Node类:表示双向链表的节点,每......