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中的CMS的涵义
Mar 11 PHP
php循环输出数据库内容的代码
May 24 PHP
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
php zip文件解压类代码
Dec 02 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
php + nginx项目中的权限详解
May 23 PHP
PHP构造二叉树算法示例
Jun 21 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判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
JsRender实用入门教程
2014/10/31 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
python爬虫---requests库的用法详解
2020/09/28 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
数控技术专业毕业自荐书范文
2014/02/05 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
亲戚关系证明
2015/06/24 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
Flink 侧流输出源码示例解析
2022/09/23 Servers