使用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 相关文章推荐
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
linux下安装php的memcached客户端
Aug 03 PHP
php使用递归计算文件夹大小
Dec 24 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 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
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python中new方法的详解
2019/01/15 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
keras.layer.input()用法说明
2020/06/16 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
怎么写有吸引力的自荐信
2013/11/17 职场文书
团日活动总结
2014/04/28 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
高中教师个人工作总结
2015/02/10 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
JS setTimeout与setInterval的区别
2022/04/20 Javascript