转: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. JavaScript实现35选7并记录历史状态

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAABQCAYAAACnOs9vAAAJy0lEQVR4nO2dbWwUxxnH/2c5SElQSl ...

  2. poj 2541 Binary Witch

    Binary Witch http://poj.org/problem?id=2541 Time Limit: 1000MS   Memory Limit: 65536K       Descript ...

  3. Linux之防火墙与端口

    1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放.下面是命令实现: iptables -P INPUT DROPiptables -P FORWARD DROPiptable ...

  4. Html5 面试题汇总

    1.HTML5 为什么只需要写 <!DOCTYPE HTML>? 答案解析: Html5不基于SGML,因此不需要对DTD进行引用,但是需要DOCTYPE来规范浏览器的行为(让浏览器按照他 ...

  5. 【Codeforces711E】ZS and The Birthday Paradox [数论]

    ZS and The Birthday Paradox Time Limit: 20 Sec  Memory Limit: 512 MB Description Input Output Sample ...

  6. [IOS]vmxsmc.exe已停止工作 VMware11 Unlocker for Mac OSX无法使用的解决办法.

    今天我帮同事安装VMware workstation12后发现之前的unlocker已经无法进行解锁了(就是VMware新建虚拟机无App Mac选项) 使用unlocker会出现vmsxmc.exe ...

  7. 20151024_003_C#基础知识(File / FileStream / StreamReader/StreamWriter)

    1:绝对路径和相对路径 绝对路径:通过给定的路径直接能在我的电脑中找到这个文件. 相对路径:文件相对于应用程序的路径. 2:编码格式 乱码:产生乱码的原因,就是你保存这个文件所采用的编码,跟你打开这个 ...

  8. Python3 学习第一天总结

    一.python介绍 1.python是一门动态解释性的强类型定义语言: 简单解释一下: 定义变量不需要定义类型的为动态语言:典型的有Python和Ruby,反之定义变量需要定义类型的为静态语言:典型 ...

  9. 【Python学习】Jupyter解决单个变量输出问题

    使用Jupyter的时候有时候发现,我明明写了好几个变量打印,但是它只显示最后一个.Out只有一个. 但是使用下面的语句.就可以实现多个输出. from IPython.core.interactiv ...

  10. skb管理函数之alloc_skb、dev_alloc_skb、kfree_skb、dev_kfree_skb、consume_skb

    alloc_skb--分配skb dev_alloc_skb--分配skb,通常被设备驱动用在中断上下文中,它是alloc_skb的封装函数,因为在中断处理函数中被调用,因此要求原子操作(GFP_AT ...