前言:

  简单介绍下为什么要用断点调试,很多人说我在代码调试的部位用var_dump 或者 exit 或者print_r来进行断点,但是当项目足够大的时候这样的做法就比较费时费力,因为你断点后需要删除原有的打印,很多时候我们自己也不知道在什么地方打印, 但是安装断点调试就可以解决这些问题,越用你会越来越喜欢它,闲话少说开干。

一、断点调试PHP的环境搭建

  1. 检测本地php环境是否安装了Xdebug 在本地输出phpinfo();搜索Xdebug;如下图

 

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

  将phpinfo();的信息全部输入网址:http://xdebug.org/wizard.php   如下图

  2、安装好Xdebug之后,配置本地的php.ini。添加配置如下,如需添加其他Xdebug配置,红色部分必须发配置,可以查看phpinfo中xdebug配置,根据自身phpinfo()信息情况自己添加。

[XDebug]
xdebug.profiler_output_dir="F:\PHP\myphp_www\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="F:\PHP\myphp_www\PHPTutorial\tmp\xdebug"
;这里改为刚刚下载的,放在对应PHP版本下的ext文件下的php_xdebug-2.7.1-7.1-vc14-nts.dll文件,
zend_extension="F:\PHP\myphp_www\PHPTutorial\php\php-7.1.13-nts\ext
\php_xdebug-2.7.1-7.1-vc14-nts.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
;xdebug.remote_port默认值为9000,这里需要跟phpstorm配置一致,下面有说明
xdebug.remote_port=9000

3、然后是配置phpstorm,Ctrl+Alt+S快捷键打开设置,搜索xdebug,其中的Debug port确保不被其他应用占用,当程序无法进入断点时,可以考虑是否有其他应用占用了你本地的9000端口。

4、给你的chrom浏览器安装Xdebug扩展,(如果你的chrom浏览器不能安装插件或者不能打开应用商店,请去百度下载 谷歌访问助手,教程很详细的),然后去应用商店下载 Xdebug如图

安装好之后会有个爬虫的图标如图

到此所以的准备工作就结束了!

二 ,现在就可以开始调试了

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

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

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

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

1,选中后点击鼠标右键,选择添加到监视,如下图

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

3、当你想直接从某个断点跳到另一行处断点时,你可以在进入断点后,在你想在另一行断点处,点击断点,然后按下F9。

本文参照 笨小孩丶如有侵权请联系本人!如有转载请说明出处!编辑不易 请点赞!

最新文章

  1. 【WPF】日常笔记
  2. css给div添加0.5px的边框
  3. iOS 按钮点击变色
  4. WindowsFormsHost使用问题
  5. java---相亲练习
  6. Android开发中Ant命令编译和APK签名的一些心得
  7. hdu 4790 Just Random (2013成都J题) 数学思路题 容斥
  8. linux安装git方法(转)
  9. 剑指offer中二进制中1的个数
  10. php回传ajax数据
  11. C#链接数据库增删改查的例子
  12. 关于Roll A Ball实例练习记录
  13. Linux主机安全配置规范
  14. js的执行环境学习笔记
  15. php可变数量的参数
  16. python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)
  17. H5 以及 CSS3
  18. 115道Java经典面试题(面中率最高、最全)
  19. Unity优化方向——优化Unity游戏中的图形渲染(译)
  20. 波利亚(Polya)罐子模型

热门文章

  1. 【interview】汉诺塔学递归
  2. I/O多路复用之select、poll、epoll
  3. Nginx命令行控制
  4. vue环境下新建项目
  5. 用 pdf.js兼容部分安卓显示PDF在线预览 时,a标签直接链接参数文件不能含中文的解决办法
  6. oop编程思想简单理解
  7. Javascript执行上下文和执行栈
  8. CF 552 Neko does Maths
  9. ZOJ 3876 JAVA
  10. bzoj1124_枪战_基环树