使用Visual Studio Code搭建PHP调试环境
1.需要安装的软件
Visual Studio Code、
WAMP(包括Apache、MySQL、PHP、以及最关键的XDebug)
2.下载软件
Visual Studio Code,光看名字就知道是微软的作品,简单理解就是 一个可以书写以及调试代码的编辑器,即Visual Studio的清凉版(竞争对手为Notepad++, Sublime Text),官网

这里下载的是Windows下的安装包版本VSCodeSetup-1.8.1.exe
而WAMP是Windows下的PHP开发整合工具包(Linux下为LAMP),主要集成了Apache、MySQL、PHP和调试用的XDebug, 对于懒人来说是个很好的工具包,安装包了就可以用了,不用担心配置Apache和PHP以及,担心下载到的XDebug与PHP版本不兼容之类的问题
官网 如下:

点击Download下载最新的版本,这里下载的是64位的3.0.6版本
3.安装
3.1.安装WAMP,由于最新版需要依赖VC++ 2012和VC++ 2015类库,如果不安装就会出现一些错误提示:

或者

官网上的截图:


安装的截图:


在安装WAMP的过程中,还会询问你是否需要修改WAMP所默认的浏览器和编辑器,这个自己决定。
检查是否WAMP是否安装成功:

双击打开WAMP,会在右下角的任务栏看到它的图标,如果是绿色代表OK, 其他颜色都有问题,鼠标左键点击就会出现菜单,
点击菜单中的Localhost,如果出现以下页面,代表安装成功:

3.2.安装Visual Studio Code,
双击下载到的软件,一直默认即可
4.配置
4.1.由于调试的关键是XDebug,所以先配置XDebug,打开php.ini配置文件,搜索XDebug

可以看到默认的xdebug远程调用的关闭的,修改如下:
将remote_enable改为on,并增加 xdebug.remote_autostart = on (这一行很重要,不添加可能无法触发断点)
xdebug.remote_enable = on
xdebug.remote_autostart = on
由于xdebug默认的运行时间是120秒,超过120秒会自动停止,所以可以根据需求修改 max_execution_time
max_execution_time =
4.2. 配置Visual Studio Code,
由于Visual Studio Code执行php代码,需要指定php的路径,不然会出现如下提示,

所以设置如下:文件->首选项->用户设置

发现设置文件是个json格式的文件,叫settings.json, 搜索php.

选中第二项,"php.validate.executablePath":null, 会出现个小笔,点击一下,在点击复制到设置,就会在右边的文件里出现

然后将php.exe的路径复制进去即可,特别注意,这里的路径分隔符是反斜杠:

最终配置内容如下:

ctrl + S保存即可
4.3.安装php debug插件,切换到扩展(Extension)界面,拉动滚动条,选择PHP Debug,点击安装,成功后点击重新载入

重新载入,即重启Visual Studio Code

如果切换到扩展没有出现插件列表,可以如此操作:点击右上角的省略号,然后选择显示常用的扩展

特别说明,PHP Debug必须通过打开文件夹中的文件才能调试,直接在VSC中新建的文件是调试不了的:

这里有说到,要打开文件夹以启动调试
4.4. 配置PHP Debug
这里说明一下,WAMP的默认工作目录,在其安装目录的www文件夹,平时只需要在里面创建php文件,就能
通过在浏览器中输入 localhost/xxx.php来访问,所以这里就直接打开www文件夹,并在其中创建一个hello.php文件

hello.php的代码如下:只有一句,就是输出 Hello World!
<?php
echo 'Hello World!';
?>
切换到调试Debug界面,首先设置成PHP语言环境

然后选择Listen for XDebug,这里就是一开始修改php.ini文件的原因,只有开启XDebug远程调试,这里才能识别到

在代码中打一个断点,然后按下 F5启动调试工具(不是运行php文件);
最后在浏览器中输入hello.php的访问路径,然后就可以看到刚刚设置的断点并命中了

=================================================================
5.总结
首先要安装php的开发环境包括xDebug(这里推荐WAMP,傻瓜式,哈哈), 然后安装Visual Studo Code;
通过修改php.ini来启动xDebug的远程调试,以便让PHP debug 检测到;
配置Visual Studio Code中php.exe的路径;
安装PHP Debug, 并配置好;
通过打开www文件夹,设置好断点,并通过F5启动debug环境;
最后在流量器中访问需要调试的php文件。
使用Visual Studio Code搭建PHP调试环境的更多相关文章
- 使用Visual Studio Code搭建TypeScript开发环境
使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- Windows下使用Visual Studio Code搭建Go语言环境
1.安装GO语言 下载地址: https://golang.org/dl/ Windows下直接运行安装GO语言即可. 安装成功. 安装完毕GO语言后,需要添加GOPATH环 ...
- Visual Studio Code 搭建Python开发环境
1.下载Python https://www.python.org/downloads/windows/ 选择一个版本,目前2.0的源码比较多,我下载的2.7.12 2.配置环境变量 3.Visual ...
- Visual Studio Code搭建Python开发环境方法总结
更新:目前VSCode官方Python插件已经支持代码运行与调试,无需安装Code Runner插件. 1.下载安装Python,地址 https://www.python.org/downloads ...
- Visual Studio Code搭建python开发环境
开发Python的环境有很多,原来已经在vs2013上面搭建好python的开发环境了,但是vs2013每次启动都占太多内存(太强大了吧),这下出了vs code,既轻量又酷炫,正好拿来试一试开发py ...
- 基于Visual Studio Code搭建Vue开发环境
安装node.js最新版 这里安装的是8.11.4版 image.png 更新npm至最新版 安装node.js后, npm默认版本为: 6.1.0 image.png 使用npm insta ...
- Visual Studio Code搭建NodeJs的开发环境
一.Visual Studio Code搭建NodeJs的开发环境 1.下载安装NodeJs并配置环境变量 可以参考:NodeJs的安装和环境变量配置 2.下载安装 VS Code编辑器 可以参考:V ...
- Visual Studio Code配置GoLang开发环境
Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...
随机推荐
- cordova3.X-4.0添加自定义插件方法
cordova3.X之后,插件不能自己手动添加了,手动添加后,只要cordova build,数据立即被抹去. 因此,3.X后要添加插件,需要用 cordova plungin add "你 ...
- 一个简单 Go Web MVC 框架实现思路
需要的知识点 为了防止你的心里不适,需要以下知识点: Go 基本知识 Go 反射的深入理解 使用过框架 Go Web 服务器搭建 package main import ( "fmt&quo ...
- 读《深入理解Windows Phone 8.1 UI控件编程》1.4.3 框架的应用示例:自定义弹出窗口有感
前些天买了园子里林政老师的两本 WP8.1 的书籍.毕竟想要学得深入的话,还是得弄本书跟着前辈走的. 今天读到 1.4.3 节——框架的应用示例:自定义弹出窗口这一小节.总的来说,就是弄一个像 Mes ...
- Python学习-16.Python中的错误处理
虽然叫错误,但跟 C# 中的异常是一回事.只不过 Python 中叫错误(Error)而 C# 中叫异常(Exception). 先手工产生一个异常: file = open('','r') 上面一句 ...
- c# HashSet 列表去重
List<, , , }; HashSet<int> hs = new HashSet<int>(list); List<, , , }; HashSet<i ...
- ASP.NET Core 2 学习笔记(三)中间件
之前ASP.NET中使用的HTTP Modules及HTTP Handlers,在ASP.NET Core中已不复存在,取而代之的是Middleware.Middleware除了简化了HTTP Mod ...
- 栈(顺序栈)----C语言
栈 栈是一种运算受限的线性表,是一种先进后出的数据结构,限定只能在一端进行插入和删除操作,允许操作的一端称为栈顶,不允许操作的称为栈底 顺序栈(顺序结构) 顺序栈:用一段连续的存储空间来存储栈中的数据 ...
- Qt5学习笔记(基础)
按钮 #include <QApplication> /*应用程序抽象类*/ #include <QWidget> //窗口类 #include <QPushButton ...
- $_SERVER[]数组解析
$_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果.__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名. 如果 PHP 以命令行方式运行,该 ...
- TDDL与Spring Boot集成Version报错——跟踪与解决
先说背景:公司采用diamond+tddl,这套技术来做web管理.本人处于好奇率先体验了下spring-boot,于是就有了spring-boot+tddl的组合.但是jar包上线后,屡屡发现一条e ...