xampp启用xdebug学习笔记详解

今天早上弄xdebug折腾了有一会,记录一下,以后好找。

环境:

 代码如下 复制代码

Windows 7 Business Edition Service Pack 1(64位)

XAMPP v3.2.1

这个版本的XAMPP,自带的php_debug.dll模块启用不了,总是报错,就去xdebug.org下载。


试了好几个版本才找到能用的

下好之后,一个个试,有的报错无法运行,有的不报错,但是phpinfo()里面没有显示已经加载了xdebug。

只有php_xdebug-2.2.3-5.4-vc9.dll可以使用(话说我一个64位系统,为啥运行的是32位的dll,难道和我的php版本有关?感觉xampp自带的php是32位编译出来的)。

安装Xdebug

把下好的Xdebug放到php目录的ext文件夹下面,然后修改php.ini。

 

[Xdebug]
zend_extension="d:/xampp/php/ext/php_xdebug-2.2.3-5.4-vc9.dll"

1

2

[Xdebug]

zend_extension="d:/xampp/php/ext/php_xdebug-2.2.3-5.4-vc9.dll"

重启Apache后再看phpinfo,有xdebug选项即表示xdebug模块已启用(我的是win下面的xampp,如如果是Linux,可能还需要重启php服务,例如php-fpm模式的时候)。

使结果输出到IDE上面

先打开xdebug的远程模式,编辑php.ini,完整配置如下:

 

[Xdebug]
zend_extension="d:/xampp/php/ext/php_xdebug-2.2.3-5.4-vc9.dll"
xdebug.remote_enable = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"

1

2

3

4

5

6

[Xdebug]

zend_extension="d:/xampp/php/ext/php_xdebug-2.2.3-5.4-vc9.dll"

xdebug.remote_enable = On

xdebug.remote_host = 127.0.0.1

xdebug.remote_port = 9000

xdebug.remote_handler = "dbgp"

如上重启,接着配置IDE,我这里以phpstorm为例。


File -> Settings -> PHP -> Servers
如图配置即可


Run -> edit configurations
新建一个PHP Web Application配置


如图,编辑自己的配置

时间: 2024-10-28 14:27:12

xampp启用xdebug学习笔记详解的相关文章

oracle 创建job学习笔记详解

一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式  代码如下 复制代码 SQL> create table JOB_TEST(a date); Table created SQL> commit; Commit complete 2,创建一个存储过程 bb 作用是往pig表中插入数据  代码如下 复制代码 SQL> create or replace procedure JOB_PRO_TEST as   2  begin   3  insert

Angular2学习笔记——详解NgModule模块_AngularJS

在Angular2中一个Module指的是使用@NgModule修饰的class.@NgModule利用一个元数据对象来告诉Angular如何去编译和运行代码.一个模块内部可以包含组件.指令.管道,并且可以将它们的访问权限声明为公有,以使外部模块的组件可以访问和使用到它们. 模块是用来组织应用的,通过模块机制外部类库可以很方便的扩展应用,Rc5之后,Angular2将许多常用功能都分配到一个个的模块中,如:FormModule.HttpModule.RouterModule. NgModule的

Angular2学习笔记——详解路由器模型(Router)_AngularJS

Angular2以组件化的视角来看待web应用,使用Angular2开发的web应用,就是一棵组件树.组件大致分为两类:一类是如list.table这种通放之四海而皆准的通用组件,一类是专为业务开发的业务组件.实际开发中大部分时间我们都需要处理业务组件.对于SPA应用来说,一个通用的问题就是如何控制页面的切换,解决这个问题的通用方法就是利用路由器来实现. 路由配置 现在我们先撇开Angular2来看看通用的路由器模型.通常来讲SPA应用需要路由配置信息: [ { path: '', pathMa

mysql 全文索引学习笔记详解

场景:需要做一个关于标题的模糊查询,只是记录有点多,而且需要相对精确,比如搜索:ac, 不能出现abc,可以接受acb,bac,之类. mysql全文搜索有三种模式: 一.自然语言查找.这是mysql默认的全文搜索方式,sql示例: [code=plain]  代码如下 复制代码 select  id,title FROM post WHERE MATCH(content) AGAINST ('search keyword') 或者显式声明使用自然语言搜索方式 [code=plain]  代码如

Javascript学习笔记-详解in运算符_javascript技巧

一.判断 语法 prop in objectName 如果objectName指向的对象中含有prop这个属性或者键值,in运算符会返回true. 复制代码 代码如下: var arr = ['one','two','three','four']; arr.five = '5'; 0 in arr;//true 'one' in arr; //false,只可判断数组的键值 'five' in arr;//true,'five'是arr对象的属性 'length' in arr;//true 原

PHP单例模式学习笔记详解

1.单例模式的概念 顾名思义,单例模式只有一个实例,而且自行实例化,向全局提供这个实例.需要强调的是,单例模式 确保某个类只能有一个实例! 2.单例模式的三个要点 (1)需要一个静态变量来保存类的唯一实例  代码如下 复制代码 private static $_instance; (2)构造函数和克隆函数必须为私有的,防止用户创建对象和复制实例对象  代码如下 复制代码 private function __construct() { //私有化默认构造方法,防止外界直接实例化 } privat

JavaScript数据类型学习笔记详解

这里仅讲解5中简单数据类型,Function 和 Object 将在后续章节中讲解. 种基本数据类型 Number 数字类型 String 字符串类型 Boolean 布尔类型 Undefined 表示一个变量未被赋值 Null 空的对象 Number类型 Number 类型用来表示整数和浮点数.例如: var x=100;Number 类型还有一个特殊值 NaN(非数值 Not a Number). NaN 用于表示一个本来要返回数值的操作并未返回数值,这样就不会抛出错误了. String类型

JavaScript匿名函数学习笔记详解

匿名函数,是指没有名称的函数.匿名函数可以传递参数,也可以赋值给一个变量. 在JavaScript中,有两种传值方式,按值传递和引用传递:     按值传递:赋值时是将数据本身传递给变量.     引用传递:将数据(代码块)的地址传递给变量,而不是数据(代码块)本身. 基本数据类型一般是按值传递,复杂数据类型一般是引用传递. 另一种定义函数的方式 来分析一个函数的定义:  代码如下 复制代码     function demo(){     // 函数主体部分     } 它的实质,是将函数主体

PHP CodeIgniter学习笔记详解

(中文官网:http://www.bootcss.com)好的东西大家都喜欢,但是它对IE6-9的兼容几乎是0.大家也懂的,国外基本是不使用这几款浏览器了.不过在中国,IE依然占有很高的市场份额.所以,有人开发了一款叫做BSIE的Bootstrap插件,美其名曰鄙视IE,使用方法也相当简单.好像有点跑题,后端我用的是CodeIgniter,它是基于PHP的开源框架.CI是今天的正题.     因为CI对于数据的过滤函数只有xss_clean(),(不知道是不是自己才疏学浅,总之没有找到其他的过滤