PhpStorm本地断点调试的方法步骤


Posted in PHP onMay 21, 2018

前言:

php代码在调试时,经常是print_r或者var_dump来断点,但是当项目较为复杂的情况下,这么做效率就非常低下了,断点调试就非常好的解决了这个问题。一开始可能不太适应断点调试,但是当习惯之后,越用越舒服。

注:以下是在windows7+apache环境

一、断点调试php环境搭建

1、检测本地php环境是否安装了Xdebug

在本地输出phpinfo();搜索Xdebug;如下图

PhpStorm本地断点调试的方法步骤

如果没有安装,安装操作Xdebug如下:

将phpinfo();的信息全部输入网址:http://xdebug.org/wizard.php中的框,得到适配的xdebug版本,按照下图中操作进行。

PhpStorm本地断点调试的方法步骤

PhpStorm本地断点调试的方法步骤

2、安装好Xdebug之后,配置本地的php.ini。添加配置如下,如需添加其他Xdebug配置,可以查看phpinfo中xdebug配置,根据情况自己添加。

[xdebug]
;zend_extension的值根据自己的本地环境填写
zend_extension = "D:/IdeMix442_jcp/php-5.5.27-Win32-VC11-x64/ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
xdebug.idekey=phpstorm
xdebug.remote_enable = On
xdebug.remote_host=localhost
;xdebug.remote_port默认值为9000,这里需要跟phpstorm配置一致,下面有说明
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.auto_trace = On

3、然后是配置phpstorm,其中的Debug port确保不被其他应用占用,当程序无法进入断点时,可以考虑是否有其他应用占用了你本地的9000端口。

PhpStorm本地断点调试的方法步骤

4、给你的chrom浏览器安装Xdebug扩展

Xdebug下载地址:https://3water.com/softs/544430.html

下载之后,解压,选择其中一个版本,安装在你的chrom浏览器中(直接拖入浏览器的扩展就可以了),我自己测试的360极速浏览器也是可以的。安装完成之后,浏览器右上角会出现个爬虫一样的东西,如下图。

PhpStorm本地断点调试的方法步骤

二、开始你的断点调试

1、在你安装已Xdebug扩展的浏览器中,打开你本地项目的某一个页面。并开启浏览器右上角的debug,如下图。

PhpStorm本地断点调试的方法步骤 

2、在你的phpstorm编辑器中,打开你在浏览器中页面要经过的代码,并按下图中操作。

PhpStorm本地断点调试的方法步骤 

3、再一次刷新你在浏览器中打开的页面,然后看看你的phpstorm编辑器。左侧断点的红色圆圈,变成了圈中有一个对勾,那么代表你进入了断点。如下图

PhpStorm本地断点调试的方法步骤

三、断点调试的一些简单操作

1、查看你断点的地方之前一些变量的值

双击你想查看的变量,鼠标停留在上边,就会出现该值。或者选中后点击鼠标右键,选择添加到监视(英文版的是add to watch),如下图

PhpStorm本地断点调试的方法步骤

PhpStorm本地断点调试的方法步骤

2、从你断点开始的地方,你可以按F7,程序会一步一步往下走,碰到函数的话,会跳转到该函数;按F8则是在当前代码页一行一行的往下走,碰到函数不会跳转。这两个功能是断点调试的最为实用和关键功能。

3、当你想直接从某个断点跳到另一行处断点时,你可以在进入断点后,在你想在另一行断点处,点击断点,然后按下F9或者点击下边框中的绿色按钮,如下图。

PhpStorm本地断点调试的方法步骤

4、当你由于断点调试,在多处断点,并且打开了多个文件,想查看你在那些地方断点,可以按Ctrl+Shift+F8 浏览断点

PhpStorm本地断点调试的方法步骤

5、断点调试还有很多小技巧,你可以在使用中慢慢发现摸索。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php缓存技术介绍
Nov 25 PHP
input file获得文件根目录简单实现
Apr 26 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
PHP面向对象精要总结
Nov 07 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 10 PHP
PHP自动识别当前使用移动终端
May 21 #PHP
PHP连接MySQL数据库并以json格式输出
May 21 #PHP
PHP 访问数据库配置通用方法(json)
May 20 #PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 #PHP
windows环境下使用Composer安装ThinkPHP5
May 18 #PHP
PHP实现登录验证码校验功能
May 17 #PHP
php识别翻转iphone拍摄的颠倒图片
May 17 #PHP
You might like
php email邮箱正则
2008/10/08 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
JavaScript 创建对象
2009/07/17 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
python制作小说爬虫实录
2017/08/14 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
python里dict变成list实例方法
2019/06/26 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
单位门卫岗位职责
2013/12/20 职场文书
手机被没收检讨书
2014/02/22 职场文书
销售经理竞聘书
2014/03/31 职场文书
实践单位评语
2014/04/26 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
自荐信怎么写
2015/03/04 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server