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 mysql Errcode: 28 终极解决方法
Jul 01 PHP
table标签的结构与合并单元格的实现方法
Jul 24 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
Laravel向公共模板赋值方法总结
Jun 25 PHP
PHP Primary script unknown 解决方法总结
Aug 22 PHP
Yii 框架使用Forms操作详解
May 18 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
第十一节 重载 [11]
2006/10/09 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
Python中使用不同编码读写txt文件详解
2015/05/28 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
安全标兵事迹材料
2014/08/17 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS