1. 安装xdebug

第一步: 得到本地PHP配置信息

在终端中运行: php -i > outputphp.txt

然后将得到的txt文件中的信息拷贝并复制到http://xdebug.org/wizard.php 这个页面提供的一个textarea中. 然后点击下方的Analyze按钮, 它会自动帮你解析你本地的PHP环境信息从而得到你需要下载的xdebug版本和相关配置指令.

为了进行下面步骤,还需要安装php5-dev依赖包:

sudo apt-get install php5-dev
  • 1

第二步: 得到需要下载的版本和相关指令

比如, 我得到的信息如下:

  1. 下载 xdebug-2.3.2.tgz (下载地址直接点击生成的链接)
  2. 解压缩文件: tar -xvzf xdebug-2.3.2.tgz
  3. 运行: cd xdebug-2.3.2
  4. 运行: phpize (See the FAQ if you don’t have phpize.
    部分输出如下所示:
    Configuring for:

    Zend Module Api No: 20121212
    Zend Extension Api No: 220121212
    如果没有以上输出, 那么代表你的phpize有问题. 参考FAQ.

  5. 运行: ./configure

  6. 运行: make
  7. 运行: sudo cp modules/xdebug.so /usr/lib/php5/20121212

以上有些步骤也许需要sudo.

第三步: 向php.ini中添加配置项

sudo vim /etc/php5/cli/php.ini

zend_extension = /usr/lib/php5/20121212/xdebug.so
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如非必要, 以上的配置项不需要修改. 之前我就是想当然的将remote_port那一项修改成了我的应用在Server上的端口号, 导致无法调试. 花了好些时间才定位到是这里的问题.

到这里, xdebug就安装成功了. 可以通过php –version命令进行验证:

PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39) Copyright
(c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c)
1998-2014 Zend Technologies
with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

可以发现输出中已经存在了Xdebug的信息.

2. 安装 Xdebug extension helper

在主流的浏览器上都有xdebug的扩展助手插件, 能够帮助你方便的打开或者关闭调试功能, 为什么需要这个插件, 可以参考这篇文章中的4, 5, 6小节(是英文的, 有兴趣的同学可以自行查阅)

以Chrome为例, 在这里找到插件的安装地址:
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=en
如果打不开, 可以参考这篇文章, 介绍了如何利用插件的ID进行离线下载, 毕竟现在Google的服务全面被墙…..

Xdebug helper的插件ID是: eadndfjplgieldjbigjakmdgkmoaaaoc

安装完毕之后, 打开该插件的options, 设置IDEKey为PhpStorm.

3. 配置PhpStorm

终于到最后一步了, 这一步很简单.
就是勾选Run菜单下的Start Listening for PHP Debug Connections.

然后在你需要调试的地方打个断点, 最后在浏览器中输入PHP脚本的地址就可以了. 注意要启用之前安装的Xdebug Helper.
启用的方法是:

OK, 开心地进行调试吧!!!

原理示意图(从xdebug的官网上引用的)

主要参考文章:

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
http://icephoenix.us/php/how-to-setup-local-php-debugging-with-phpstorm-and-xdebug/
http://xdebug.org/docs/remote#starting

PhpStorm中配置xdebug调试环境的更多相关文章

  1. ubuntn下 nginx+phpstorm 中配置xdebug调试

    xdebug安装和配置说明,主要用于个人学习记录. 一.echo phpinfo(); 搜素xdebug,若未搜素到,则标识未安装或安装失败. 二.拷贝步骤1中输出的所有结果.访问http://xde ...

  2. Mac: phpstorm中使用xdebug调试php

    Mac: phpstorm中使用xdebug调试php###phpstorm和webserver都在同一台机器上这种情况1.安装xdebug使用pecl安装即可2.php.ini配置[xdebug]z ...

  3. PHPStorm 中配置 XDebug

    1.下载 Xdebug ps : php版本和xdebug版本一定要相对应 如果不知道下载哪个版本,将phpinfo网页的源代码拷贝到https://xdebug.org/wizard.php,然后按 ...

  4. PhpStorm 破解及 XDebug 调试

    PhpStorm 破解及 XDebug 调试 PhpStorm 破解 PhpStorm 10.0.2 破解 地址:http://jingyan.baidu.com/article/20095761cb ...

  5. 使用zend studio配置Xdebug调试PHP教程

    这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...

  6. eclipse中配置c++开发环境 Eclipse + CDT + MinGW

    转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...

  7. Visual Studio Code中配置GO开发环境

    在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...

  8. “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境

    Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...

  9. VSCode配置python调试环境

    VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...

随机推荐

  1. 汇编中push寄存器的影响

    由于汇编代码中的不同位置 ESP+40所指的地址不像EBP+40的地址那个是一定的,ESP+40指向的地址由栈顶变化影响.也就是和操作栈指令 PUSH POP 等影响. 汇编栈是一个线性的地址区间,地 ...

  2. 配置eclipse集成开发环境_编译_调试

    1. 因为eclipse是基于Java运行,所以在运行Eclipse之前,需要安装Java SE,对于Java SE,需要Java SE6 JRE系列的版本,可以在这个位置下载: Java SE 6只 ...

  3. C#定时执行一个操作

    一个客户端向服务器端socket发送报文,但是服务器端限制了发送频率,假如10秒内只能发送1次,这时客户端也要相应的做限制,初步的想法是在配置文件中保存上次最后发送的时间,当前发送时和这个上次最后时间 ...

  4. 高斯混合模型与EM算法

    对于高斯混合模型是干什么的呢?它解决什么样的问题呢?它常用在非监督学习中,意思就是我们的训练样本集合只有数据,没有标签. 它用来解决这样的问题:我们有一堆的训练样本,这些样本可以一共分为K类,用z(i ...

  5. php null o false ''

    php中很多还不懂php中0,"",null和false之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.先看一个例子: <? $str ...

  6. myeclipse/eclipse没有Project Facets的解决方法

    http://www.cnblogs.com/jerome-rong/archive/2012/12/18/2822783.html 经常在eclipse中导入web项目时,出现转不了项目类型的问题, ...

  7. GreenPlum简单性能测试与分析--续

    版权声明:本文由黄辉原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/259 来源:腾云阁 https://www.qclou ...

  8. android studio gradle升级

    http://services.gradle.org/distributions 下载最新的gradle-3.0-all.zip包 放入C:\Users\Administrator\.gradle\w ...

  9. three.js

    webgl,three.js交流的论坛,欢迎到里面提问问题 www.webglchina.cn

  10. Octopus系列之代码备份

    代码 $.extend($.validator.messages, { required: "This field is required.", remote: "Ple ...