使用phpstorm和xdebug实现远程调试的方法


Posted in PHP onDecember 29, 2015

vs的断点调试功能很强大有木有,能查看所有变量有木有。php调试很麻烦有木有,echo,var_dump写得你想吐了有木有。想体验一下ide调试的快感吗?那就来使用xdebug吧。

1.原理:xdebug是一款php调试插件,支持远程调试,就是在php文件运行的时候,能通过tcp协议,来发送调试信息到远程端口,ide在收到调试信息的时候,可以向xdebug发送单步运行,中止运行,运行等命令。这样就实现了vs那样强大的调试功能。

2.需要的东东:一款支持xdebug远程调试的ide,这里使用phpstorm,是一个灰常强大的phpide。另外需要一款你的php对应版本的xdebug。

3.步骤:先下载xdebug,请在官网下载你的php版本对应的xdebug

使用phpstorm和xdebug实现远程调试的方法

如果你不知道你的版本呢,请echo phpinfo();哈哈,然后把整个页面复制到http://xdebug.org/wizard.php 这个页面的框里,然后他会自动分析你的php版本,然后告诉你放在哪个文件夹,我们放在php的拓展文件夹就好了,我是D:\xampp\php\ext

然后配置php.ini,在最后加上这个:

[xdebug]
zend_extension = D:\xampp\php\ext\php_xdebug-2.2.0-5.3-vc9.dll
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=phpstorm4
xdebug.remote_autostart=1

解释下,第一行是加载xdebug,romote_enable是开启远程调试,下面是远程调试的参数,ip,端口,识别字符串,自动远程调试。

然后重启apache,xdebug就加载成功了,为神马网站会慢很多呢,因为你开启了自动远程调试,每一次访问都会连接一下定义的ip和端口。哈哈。这个看自己取舍吧。

使用phpstorm和xdebug实现远程调试的方法

然后就是配置ide了,

使用phpstorm和xdebug实现远程调试的方法

选择editconfig,然后按这样配置:

使用phpstorm和xdebug实现远程调试的方法

在php remote debug里面配置好服务器 127.0.0.1 80 xdebug,然后设置好识别字符串。这里是我们已经定义了的phpstorm4,然后保存。这样就配置好了。

4.使用:现在我们就可以开始调试了。

使用phpstorm和xdebug实现远程调试的方法

点击者按钮,开始监听远程调试,当变成绿色表示监听成功。下面我们设置一个断点。

使用phpstorm和xdebug实现远程调试的方法

看到木有,有木有有木有很强大,可以一步一步执行哦,F7单步进入函数,F8是单步跳过函数。有不明白的留言哦。

PHP 相关文章推荐
实现树状结构的两种方法
Oct 09 PHP
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 PHP
php中的动态调用实例分析
Jan 07 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
PHP7之Mongodb API使用详解
Dec 26 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
php微信公众号开发之秒杀
Oct 20 PHP
因str_replace导致的注入问题总结
Aug 08 PHP
PHP远程调试之XDEBUG
Dec 29 #PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 #PHP
Yii快速入门经典教程
Dec 28 #PHP
WordPress主题制作之模板文件的引入方法
Dec 28 #PHP
WordPress的主题编写中获取头部模板和底部模板
Dec 28 #PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 #PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 #PHP
You might like
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
浅谈python中set使用
2016/06/30 Python
Python 多线程Threading初学教程
2017/08/22 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Python3 翻转二叉树的实现
2019/09/30 Python
pygame实现飞机大战
2020/03/11 Python
Python 解析简单的XML数据
2020/07/24 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
教师考核评语
2014/04/28 职场文书
住房租房协议书
2014/08/20 职场文书
房屋转让协议书
2014/10/18 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server
Python使用DFA算法过滤内容敏感词
2022/04/22 Python
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server