使用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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
打造计数器DIY三步曲(下)
Oct 09 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
thinkphp缓存技术详解
Dec 09 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
php无限分类使用concat如何实现
Nov 05 PHP
thinkPHP批量删除的实现方法分析
Nov 09 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 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时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
新手入门常用代码集锦
2007/01/11 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
js读取本地文件的实例
2017/12/22 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Django中Model的使用方法教程
2018/03/07 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
Python3.5运算符操作实例详解
2019/04/25 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
Python3的socket使用方法详解
2020/02/18 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
毕业生找工作推荐信
2013/11/21 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
诚信考试倡议书
2014/04/15 职场文书
活动总结报告格式
2014/05/09 职场文书
综合实践活动报告
2015/02/05 职场文书
领导新年致辞2016
2015/07/29 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python
Python使用openpyxl批量处理数据
2021/06/23 Python
Windows server 2012搭建FTP服务器
2022/04/29 Servers
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android