使用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 相关文章推荐
一步一步学习PHP(3) php 函数
Feb 15 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
浅谈discuz密码加密的方式
May 22 PHP
PHP中返回引用类型的方法
Apr 03 PHP
PHP解决中文乱码
Apr 28 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
PHP7引入的"??"和"?:"的区别讲解
Apr 08 PHP
php时间戳转换代码详解
Aug 04 PHP
PHP实现微信提现功能(微信商城)
Nov 21 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
使用js画图之饼图
2015/01/12 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
Python与Java间Socket通信实例代码
2017/03/06 Python
Python语言的变量认识及操作方法
2018/02/11 Python
django的ORM模型的实现原理
2019/03/04 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python系列 文件操作的代码
2019/10/06 Python
Python操作Excel的学习笔记
2021/02/18 Python
什么叫做SQL注入,如何防止
2016/10/04 面试题
旅游管理专业生自荐信范文
2014/01/02 职场文书
寒假实习自荐信
2014/01/26 职场文书
培训协议书范本
2014/04/22 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
小学课改工作总结
2015/08/13 职场文书
三好学生竞选稿
2015/11/21 职场文书
js 实现验证码输入框示例详解
2022/09/23 Javascript