PhpStorm中配置xdebug调试环境
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
第二步: 得到需要下载的版本和相关指令
比如, 我得到的信息如下:
- 下载 xdebug-2.3.2.tgz (下载地址直接点击生成的链接)
- 解压缩文件:
tar -xvzf xdebug-2.3.2.tgz - 运行:
cd xdebug-2.3.2 运行:
phpize (See the FAQ if you don’t have phpize.
部分输出如下所示:
Configuring for:
…
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
如果没有以上输出, 那么代表你的phpize有问题. 参考FAQ.运行:
./configure- 运行:
make - 运行:
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调试环境的更多相关文章
- ubuntn下 nginx+phpstorm 中配置xdebug调试
xdebug安装和配置说明,主要用于个人学习记录. 一.echo phpinfo(); 搜素xdebug,若未搜素到,则标识未安装或安装失败. 二.拷贝步骤1中输出的所有结果.访问http://xde ...
- Mac: phpstorm中使用xdebug调试php
Mac: phpstorm中使用xdebug调试php###phpstorm和webserver都在同一台机器上这种情况1.安装xdebug使用pecl安装即可2.php.ini配置[xdebug]z ...
- PHPStorm 中配置 XDebug
1.下载 Xdebug ps : php版本和xdebug版本一定要相对应 如果不知道下载哪个版本,将phpinfo网页的源代码拷贝到https://xdebug.org/wizard.php,然后按 ...
- PhpStorm 破解及 XDebug 调试
PhpStorm 破解及 XDebug 调试 PhpStorm 破解 PhpStorm 10.0.2 破解 地址:http://jingyan.baidu.com/article/20095761cb ...
- 使用zend studio配置Xdebug调试PHP教程
这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...
- eclipse中配置c++开发环境 Eclipse + CDT + MinGW
转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
- “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境
Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...
- VSCode配置python调试环境
VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...
随机推荐
- jquery之empty()方法详解
empty()函数用于清空每个匹配元素内的所有内容. empty()函数将会移除每个匹配元素的所有子节点(包括文本节点.注释节点等所有类型的节点). 该函数属于jQuery对象(实例). 语法 jQu ...
- JQ写简单的伸缩菜单(内附效果图和源代码)
效果如图: JQ代码就那么几句, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- SQL*Loader实验笔记【二】
所有SQL*Loader实验笔记 实验案例总结(1-7): SQL*Loader实验笔记[一] 实验案例总结(8-13): SQL*Loader实验笔记[二] 实验案例总结(14-19 ...
- Java后台传前台json数组
function checkStore(){ var flag=1; $.ajax({ url:"widget?type=shop_cart&ajax=yes&action= ...
- CAD打开文件总是弹出要求选择字体怎么办
CAD打开文件总是弹出要求选择字体怎么办1.在C:\Documents and Settings\下搜索acad.fmp文件,双击用记事本打开acad.fmp文件,在最后添加内容,上面几行本来就有,不 ...
- SSH2 框架下的分页
1.设计分页实体(pageBean) 这里我显示的是3-12页的方式: package cn.itcast.oa.domain; import java.util.List; /** * 封装分页信息 ...
- /etc/rc.d/与/etc/rc.d/init.d的关系
/etc/init.d指向/etc/rc.d/init.d目录 . 除了直接调用脚本外(如/etc/rc.d/init.d/xinetd),还可以用service命令来控制init.d目录下的服务如 ...
- java.util.logging.Logger 使用详解
概述: 第1部分 创建Logger对象 第2部分 日志级别 第3部分 Handler 第4部分 Formatter 第5部分 自定义 第6部分 Logger的层次关系 参考 第1部分 创建Logger ...
- C#窗体 LISTVIEW
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 使用 Hive 作为 ETL 或 ELT 工具
用来处理数据的 ETL 和 ELT 工具的概述 数据集成和数据管理技术已存在很长一段时间.提取.转换和加载(ETL)数据的工具已经改变了传统的数据库和数据仓库.现在,内存中转换 ETL 工具使得提取. ...