最近在使用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. VC MFC工具栏(CToolBar)控件(转)

    工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建, ...

  2. 【题解】洛谷P1967 [NOIP2013TG] 货车运输(LCA+kruscal重构树)

    洛谷P1967:https://www.luogu.org/problemnew/show/P1967 思路 感觉2013年D1T3并不是非常难 但是蒟蒻还是WA了一次 从题目描述中看出每个点之间有许 ...

  3. careercup-扩展性和存储限制10.3

    题目 给你一个文件,里面包含40亿个整数,写一个算法找出该文件中不包含的一个整数, 假设你有1GB内存可用. 如果你只有10MB的内存呢? 解答 我们先来做个算术题,40亿个整数大概有多大? * ^ ...

  4. HTML表格属性及简单实例

    这里主要总结记录下表格的一些属性和简单的样式,方便以后不时之需. 1.<table> 用来定义HTML的表格,具有本地属性 border 表示边框,border属性的值必须为1或空字符串( ...

  5. Swift_枚举

    Swift_枚举 点击查看源码 空枚举 //空枚举 enum SomeEnumeration { // enumeration definition goes here } 枚举基本类型 //枚举基本 ...

  6. wordpress | 网站访问速度优化方案(Avada)

    一.谷歌字体 原因: Wordpress系统默认使用谷歌字体,在国内谷歌域名被屏蔽,所以导致操作反应慢. 解决方法: 对于后台:找到Wordpress这个文件 /wp-includes/script- ...

  7. CASE WHEN 批量更新

    单个值: UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END WHE ...

  8. linux驱动动态与静态加载

    在Linux中驱动的加载方式有动态加载和静态加载.动态加载,即驱动不添加到内核中,在内核启动完成后,仅在用到这一驱动时才会进行加载静态加载,驱动编译进内核中,随内核的启动而完成驱动的加载.添加字符驱动 ...

  9. 我和Python的Py交易》》》》》》 命名空间的小弟作用域

    命名空间的小弟作用域 在这要明确一个观点,在Python中万物皆对象,而变量指向的就是对象. 变量可以是 类名,函数名,储存数据的变量…… 对象可以是  类 ,被封装的一段代码(函数),数据…… 命名 ...

  10. Speed Up Your WordPress Site

    http://www.sitepoint.com/speed-wordpress/ http://www.sparringmind.com/speed-up-wordpress/ http://www ...