转:http://blog.csdn.net/x356982611/article/details/52664334

简介

PHP是动态语言没有调试器的话排错起来很是麻烦。vscode可以说是程序员的福音,启动速度快,插件越来越多,跨平台。现在说一下vscode上调试php文件

所需文件

  1. xampp 集成服务器(也可以就是apache/IIS)
  2. vscode
  3. Xdebug
  4. php-debug 插件

配置过程

1:在Xampp(Apache/IIS)中安装xdebug:

a.去 https://xdebug.org/download.php下载php对应版本的插件,php版本可以在xampp中的readme看到,下载这个PHP 5.6 VC11 TS (32 bit) 把dll文件拷贝到php/ext目录

注意:如果是Apache或者是IIS,需要安装相应Xdebug.在选择Xdebug时,注意版本的选择:

1)VC9版本是用于IIS的,VC6是用于apache服务器的。VC9版本是说Xdebug程序是用VC2008编译的,VC6版本是用VC6编译的,VC11是用Visual Studio 2012编译的。如果你的电脑是安装了apache,一般是把PHP作为一个Module load到apache中,那么以apache父进程-多子进程的工作模式,是需要进行线程安全检查的,所以如果是以这种方式执行php,选择ts版本;如果你的电脑使用IIS配置PHP,那么需要选择Non-Thread Safe(NTS)版本。
2)如果你安装的apache版本在2.2以上,php在5.3以上,建议优先使用VC9或VC11版本;反之,建议优先选择VC6版本。
将下载后的xdebug文件复制到正确的目录下。下载后的xdebug程序是一个dll文件。
将dll文件拷贝到你的php的ext或zend_ext目录下。可以拷贝到“zend_ext”文件夹下,对于只有ext文件夹的朋友来说,就可以拷贝到ext文件夹下。  
 

b:打开php目录下的php.ini ,添加几行配置,xdebug的路径按实际情况配置,配置完成后重启apache服务器

zend_extension=C:\xampp\php\ext\php_xdebug-2.4.1-5.6-vc11.dll
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
c.验证PHP安装Xdebug扩展是否成功:
利用phpinfo(),查看输出是否有“xdebug”字样,如下图所示。如果出现了如下图的“xdebug”字样和相应的版本信息,则说明安装成功。
如果没有出现“xdebug”,则原因很可能出现xdebug的版本选择错误,笔者之前反复安装没有成功,问题就出自版本的选择上。不知道如何选择版本的,建议读者多试试几个xdebug版本进行测试。
 

2: 在vscode中安装php-debug:

a.在vscode中按 F1, 输入ext install php-debug 安装调试插件

b.配置php路径:第一次安装vs会提示这个,需要配置下php.exe的路径,在用户设置里添加以下项

"php.validate.executablePath": "C:\\xampp\\php\\php.exe"

c:在vscode中的php文件打一断点,点Listen for XDebug 项目的运行,配置不用更改,默认就可以 

d:然后按F5,运行后跳出这些按键:

e:直接在浏览器中打开要调试的php(不是文件路径而是服务器的地址(http://127.0.0.1/test.php)),vscode就会命中到打断点的地方

转:vscode中调试php的更多相关文章

  1. go环境搭建及vscode中调试

    1.下载go安装包一般国内用户无法在官网下载,可以自行百度找一些共享的资源墙内下载地址: http://www.golangtc.com/downloadCSDN上资源下载(一般需要积分):http: ...

  2. linux系统下如何在vscode中调试C++代码

    本篇博客以一个简单的hello world程序,介绍在vscode中调试C++代码的配置过程. 1. 安装编译器 vscode是一个轻量的代码编辑器,并不具备代码编译功能,代码编译需要交给编译器完成. ...

  3. 如何在vscode中调试vue-cli项目?

    一:参考官网文档,写的还是很清楚的:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html 二:需要安装的东西和初始项目 2.1  用vue ...

  4. 如何在vscode中调试python scrapy爬虫

    本文环境为 Win10 64bit+VS Code+Python3.6,步骤简单罗列下,此方法可以不用单独建一个Py入口来调用命令行 安装Python,从官网下载,过程略,这里主要注意将python目 ...

  5. 在vscode中怎样debug调试go程序

    随着互联网时代的飞速发展,我们编码使用的开发利器也在不断更新换代,古话说工欲善其事必先利其器,对于Java开发者而言,eclipse和idea这两款神器各有千秋,因自己的爱好可以选取不同的IDE,但是 ...

  6. vscode中php断点调试方法!

    一.PHP的代码断点调试 1.打开vscode的首选项设置,添加"php.validate.executablePath": "D:\\newXampp\\php\\ph ...

  7. 在vscode中进行nodejs服务端代码调试(代码修改自动重启服务端)

    使用到的是nodemon,具体在package.json文件中配置如下: "scripts": { "start": "node ./bin/www& ...

  8. Flutter Android 真机器调试 、模拟器调试、Vscode 中开发 Flutter 应用

    必备条件: 1.准备一台 Android 手机 2.手机需要开启调试模式 3.用数据线把手机连上电脑 4.手机要允许电脑进行 Usb 调试 5.手机对应的 sdk 版本必须安装 注意: 1.关闭电脑上 ...

  9. 【转载】Windows下VSCode编译调试c/c++

    懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/de ...

随机推荐

  1. JVM之字节码执行引擎

    方法调用: 方法调用不同于方法执行,方法调用阶段唯一任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不执行方法内部的具体过程.方法调用有,解析调用,分派调用(有静态分派,动态分派). 方法解析 ...

  2. margin和padding

    一.margin基础语法与结构 1.margin语法 Margin:10px Margin的值是数字+html单位,同时也可以为auto(自动.自适应) 2.应用结构 Div{margin:10px} ...

  3. js的作用域深入理解

    一.什么是作用域 作用域是指对某一变量和方法具有访问权限的代码空间,Javascript的作用域只有两种:全局作用域和本地作用域,本地作用域是按照函数来区分的(即全局变量和局部变量)) 局部变量:只有 ...

  4. springboot线程池@Async的使用和扩展

    我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 本 ...

  5. dp,状压dp等 一些总结

    也就作业几题而已,分析一下提醒 最重要的就是,记住,没用的状态无论怎么转移最后都会是没用的状态,所以每次转移以后的有值的状态都是有用的状态. 几种思考方向: 第一种:枚举当前的状态,转移成另外一个状态 ...

  6. 鸽巢排序Pigeonhole sort

    原理类似桶排序,同样需要一个很大的鸽巢[桶排序里管这个叫桶,名字无所谓了] 鸽巢其实就是数组啦,数组的索引位置就表示值,该索引位置的值表示出现次数,如果全部为1次或0次那就是桶排序 例如 var pi ...

  7. tomcat优化总结【持续更新】

    配置优化 <Connector port=" maxThreads=" URIEncoding="UTF-8" maxKeepAliveRequests= ...

  8. lambda表达式的应用例子和JavaSE 8特性

    在JavaSE 8 引入了lambda表达式,lambda表达式的引入带来的好处是:通过语法上的改进,减少开发人员需要编写和维护的代码数量.这个在下面使用和不使用lambda的对比中可以清晰看出来. ...

  9. 【bzoj1774-过路费】floyd+排序

    题意:n个点,m条双向边,每个点有权值c[i],每条边有权值a[i].d,一条路径的费用=每条边的权值和+各个点的权值的最大值,即sigma(a[i].d)+max(c[i]).q个询问,问x到y的最 ...

  10. 【BZOJ】1697: [Usaco2007 Feb]Cow Sorting牛排序

    [算法]数学置换 [题意]给定n个数,要求通过若干次交换两个数的操作得到排序后的状态,每次交换代价为两数之和,求最小代价. [题解] 考虑置换的定义:置换就是把n个数做一个全排列. 从原数组到排序数组 ...