使用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 相关文章推荐
模仿OSO的论坛(三)
Oct 09 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
PHP读取文件内容后清空文件示例代码
Mar 18 PHP
php获取文件名后缀常用方法小结
Feb 24 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 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
最简单的PHP程序--记数器
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHP 实用代码收集
2010/01/22 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
学校安全工作制度
2014/01/19 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
2015年材料员工作总结
2015/04/30 职场文书
主持人大赛开场白
2015/05/29 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android