php代码在调试时,经常是print_r或者var_dump来断点,但是当项目较为复杂的情况下,这么做效率就非常低下了,断点调试就非常好的解决了这个问题。一开始可能不太适应断点调试,但是当习惯之后,越用越舒服。
注:以下是在windows7+apache环境
一、断点调试php环境搭建
1、检测本地php环境是否安装了Xdebug
在本地输出phpinfo();搜索Xdebug;如下图
如果没有安装,安装操作Xdebug如下:
将phpinfo();的信息全部输入网址:中的框,得到适配的xdebug版本,按照下图中操作进行。
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端口。
4、给你的chrom浏览器安装Xdebug扩展
Xdebug下载地址:https://www.jb51.net/softs/544430.html
下载之后,解压,选择其中一个版本,安装在你的chrom浏览器中(直接拖入浏览器的扩展就可以了),我自己测试的360极速浏览器也是可以的。安装完成之后,浏览器右上角会出现个爬虫一样的东西,如下图。
二、开始你的断点调试
1、在你安装已Xdebug扩展的浏览器中,打开你本地项目的某一个页面。并开启浏览器右上角的debug,如下图。
2、在你的phpstorm编辑器中,打开你在浏览器中页面要经过的代码,并按下图中操作。
3、再一次刷新你在浏览器中打开的页面,然后看看你的phpstorm编辑器。左侧断点的红色圆圈,变成了圈中有一个对勾,那么代表你进入了断点。如下图
三、断点调试的一些简单操作
1、查看你断点的地方之前一些变量的值
双击你想查看的变量,鼠标停留在上边,就会出现该值。或者选中后点击鼠标右键,选择添加到监视(英文版的是add to watch),如下图
2、从你断点开始的地方,你可以按F7,程序会一步一步往下走,碰到函数的话,会跳转到该函数;按F8则是在当前代码页一行一行的往下走,碰到函数不会跳转。这两个功能是断点调试的最为实用和关键功能。
3、当你想直接从某个断点跳到另一行处断点时,你可以在进入断点后,在你想在另一行断点处,点击断点,然后按下F9或者点击下边框中的绿色按钮,如下图。
4、当你由于断点调试,在多处断点,并且打开了多个文件,想查看你在那些地方断点,可以按Ctrl+Shift+F8 浏览断点
5、断点调试还有很多小技巧,你可以在使用中慢慢发现摸索。