最近在使用PHP开发,使用了很多IDE,发现都不是很顺手,之前一直都在使用Sublime Text,但是作为一个爱折腾的人,当我发现VS Code以后觉得很是很适合自己的编程需要的。配置过程中遇到了一些问题,现在整理归纳如下:

环境

简单描述下相关软件环境:VS Code 稳定版1.18.1,PHP版本7.0.10

1.安装 XDebug 扩展

首先我们需要安装XDebug扩展,每个PHP版本需要的不一样,推荐一个XDebug检测网址。在网页中输出phpinfo(),复制相关PHP信息,进入检测网址以后,粘贴到对应输入框中,检测后会提示如下信息:

因为每个人的php配置不尽一致,所以按照标红的部分提示操作就可以了。

  1. 点击下载对应dll扩展
  2. 下载成功后将dll保存到php的扩展目录下,本机路径:c:\wamp64\bin\php\php7.0.10\ext,需要修改的可以前往php.ini修改对应参数。
  3. 将XDebug扩展加入php中,配置php.ini参数,将zend_extension更新为:dll扩展路径。本机设置为:zend_extension = c:\wamp64\bin\php\php7.0.10\ext\php_xdebug-2.5.4-7.0-vc14-x86_64.dll

2.启用远程调试

除了上述操作以后,还要在 php.ini 配置文件中添加 xdebug 的配置项:

[XDebug]
xdebug.remote_enable = on
xdebug.remote_autostart = on

注意:修改php.ini文件后必须重启服务才可以生效

3.安装VS Code PHP Debug扩展

在 vs code 插件管理中搜索 PHP Debug 扩展并安装。安装成功重新加载即可。

4.配置调试环境

点击“调试”,选择“Listen to XDebug”,首次调试会提示一个launch.json文件,相关设置不需要修改,点击启动调试就可以了,如下所示:

结尾

配置完成以后就可以设置断点进行相关调试了。


华丽丽的分割线,上述方式适用于独立PHP环境下的配置,下面更新适用于集成环境下的配置方式,用wamp环境举例:

1.开启XDebug 扩展

鼠标左键WAMP图标-选择“PHP”-“PHP设置”-勾选开启XDebug相关设置,如图显示

2.启用远程调试

除了上述操作以后,还要在 php.ini 配置文件中添加 xdebug 的配置项:

[XDebug]
xdebug.remote_autostart = on

结尾

设置完以后重启WAMP即可进行调试。

补充

如果需要仔细研究Xdebug的相应参数和设置,可以参考对应文档:

英文原始文档地址
中文文档github地址

下面先附上本文提到的相关参数的说明:

xdebug.remote_autostart

类型: boolean, 默认值: 0

一般来说要使用一指定的HTTP的GET/POST变量启动远端调试(参考 Remote Debugging)。当设置为1时,Xdebug会尝试启动一远端调试会话并试图连接到一客户端,即便是GET/POST/COOKIE变量并不存在。

xdebug.remote_enable

类型: boolean, 默认值: 0

该开关控制Xdebug试图与调试客户端通讯,客户端通过设置 xdebug.remote_host 和 xdebug.remote_port侦听服务器和端口当。当设置为0,脚本仅仅是运行而连接不能被建立。

 

Visual Studio Code——PHP Debug扩展的更多相关文章

  1. visual studio code 安装python扩展

    Ctrl+P 调出控制台,在控制台里输入ext install python,点击第一个安装 如果出现: visual studio code connect ETIMEDOUT 191.238.17 ...

  2. Visual Studio Code同时debug多种代码的方式

    今天看了一下,猜应该是configurations里面多写一个就行,试了下,真的可以同时debug Python和Go代码. 可以打断点.单步执行Python和Go代码. launch.json 如下 ...

  3. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  4. SharePoint Framework 在Visual Studio Code中调试你的本地解决方案

    博客地址:http://blog.csdn.net/FoxDave Visual Studio Code不知道大家都有没有,界面清爽,编辑快速,是一个非常好的前端开发工具.本文介绍如何使用Goog ...

  5. Visual Studio Code 配置 gcc

    作者:谭九鼎链接:https://www.zhihu.com/question/30315894/answer/154979413来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  6. ASP.NET Core 中文文档 第二章 指南(1)用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序

    原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 作者:Daniel Roth.Steve Smith ...

  7. visual studio code 调试nodejs 配置简单HTTP服务器

    介绍 Visual Studio Code是一个轻量级的Web集成开发环境on Linux,Mac and Windows,特别是作为前端人员来了, 多了一个可供选择的生产力工具IDE,调试js代码简 ...

  8. 使用Visual Studio Code编写和激活ABAP代码 (上)

    猪年春节后的第一篇,Jerry祝各位猪年大吉! 2019年的六分之一马上就快过完了,不知道大家在新的一年是否给自己定了新的小目标呢?这里Jerry先预祝大家到2019年年底的时候,在年初制定的小目标都 ...

  9. Visual Studio Code 如何编写运行 C、C++ 程序?

    0. 前言 VS Code 是微软发布一款跨平台的源代码编辑器,其拥有强大的功能和丰富的扩展,使之能适合编写许多语言. 本文面向初学者(但不是纯小白),分享一点我配置C/C++的经验. 本文所有内容均 ...

随机推荐

  1. RMAN_PIPE

    涉及的dbms_pipe包中的过程和函数:(1)PACK_MESSAGE Procedures用途:Builds message in local buffer(2)SEND_MESSAGE Func ...

  2. Javascript混淆与解混淆的那些事儿

    像软件加密与解密一样,javascript的混淆与解混淆同属于同一个范畴.道高一尺,魔高一丈.没有永恒的黑,也没有永恒的白.一切都是资本市场驱动行为,现在都流行你能为人解决什么问题,这个概念.那么市场 ...

  3. golang刷Leetcode系列 --- 加1

    加一 给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 ...

  4. stl学习之namespace

    一.为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 在 C语言中定义了3个层次的作用域,即文件(编译单元).函数和复合语句.C++ ...

  5. Ubantu 更新时间方法

    1.首先查看时区: swfsadmin@swfsubuntu:~$ date -RTue, 17 Dec 2013 18:23:01 +0800 如果要修改时区,执行sudo tzselect 2.选 ...

  6. HTML5文本

    1.重要文本.斜体文本 粗体:<strong></strong> 粗体:<b></b> 斜体:<em></em> 斜体:< ...

  7. 【Spark】Spark性能优化之Whole-stage code generation

    一.技术背景 Spark1.x版本中执行SQL语句,使用的是一种最经典,最流行的查询求职策略,该策略主要基于 Volcano Iterator Model(火山迭代模型).一个查询会包含多个Opera ...

  8. 微信小程序上滑加载更多

    onReachBottom: function () { var that = this var limit = that.data.limit var count = that.data.count ...

  9. day30 进程

    推荐两本书:现代操作系统和操作系统原来,学习好python以后再去研究.   并发:任务的切换,保存状态,存在io的是实现空间和时间的 重复利用 操作系统的发展历史: 第一代(1940-1955)手工 ...

  10. 基于Python的飞机大战游戏

    前几天决定学Python,上网找了教程看了两天,和C比起来面向对象的特性真的都很便捷,有了类开发各种敌机,子弹什么的都很方便. 在此要感谢开发pygame模块的开发人员,真的很好用(逃 效果图↓ 主函 ...