欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

phpstorm配置xdebug - xiebruce

程序员文章站 2022-05-09 11:52:42
...
首先配置好xdebug

在php.ini里面加入以下配置(修改完注意重启apache或nginx):

  1. [xdebug]

  2. zend_extension="/usr/local/opt/php55-xdebug/xdebug.so"

  3. xdebug.remote_enable=On

  4. xdebug.remote_autostart=Off

  5. xdebug.remote_host="localhost"

  6. xdebug.remote_port=9002

  7. xdebug.remote_handler="dbgp"

  8. ;可以是任意Key,这里设定为PHPSTORM

  9. xdebug.idekey="PHPSTORM"

注:我所用的是mac的brew-emp(nginx+mysql+php),它的xdebug配置文件不在php.ini,而是在/usr/local/etc/php/5.5/conf.d里的ext-xdebug.ini中

配置phpstorm xdebug监听的服务器以及php应用程序(项目)

phpstorm右侧的Edit Configurations

phpstorm配置xdebug - xiebruce

接上图:

phpstorm配置xdebug - xiebruce

如下图,填写php网站的名称,以及Server(一开始没有server,需要先添加(看下图),host就是你虚拟主机名,端口一般是80除非你虚拟主机配置的时候特别指定了其他端口)

phpstorm配置xdebug - xiebruce

配置好之后,如下图所示:

phpstorm配置xdebug - xiebruce

注:Start URL看具体情况,我是用nginx的,www.test.com是在浏览器上可以直接访问到我网站主页的,所以我就直接填个斜线“/”就行,如果你要具体指定到某个文件,那就自己填上去。

最后应用(apply)——保存(save)。

设置phpstorm xdebug监听的端口

(端口号只要是系统没用到的就行,但是要跟前面xdebug配置文件"xdebug.remote_port=9002"中的端口号相同),设置方法如下:

在phpstorm的设置里,搜索debug,找到Languages & Frameworks——PHP——Debug

phpstorm配置xdebug - xiebruce

上一步点击Debug进入如下界面:

其他选项可以看着选,不过注意Debug port要和xdebug的配置里的端口一样:

phpstorm配置xdebug - xiebruce

浏览器中安装xdebug插件

1、谷歌浏览器安装Xdebug helper插件

phpstorm配置xdebug - xiebruce

phpstorm配置xdebug - xiebruce

phpstorm配置xdebug - xiebruce

2、火狐浏览器安装easy Xdebug 插件

搜索到两个easy debug,用比较新的那个

phpstorm配置xdebug - xiebruce

phpstorm配置xdebug - xiebruce

phpstorm配置xdebug - xiebruce

如下图,点击小虫,当小虫下方有个红色减号的时候,表示开始监听debug,当下图的正方形为红色的时候(鼠标点击可切换状态),会在cookie中记录xdebug profile

非监听状态phpstorm配置xdebug - xiebruce
监听状态:phpstorm配置xdebug - xiebruce(只要小虫有个减号就表示监听状态,此时正方形不一定要变成红色,如果变成红色了就表示开启了cookie,具体作用我还不知道)

cookie:phpstorm配置xdebug - xiebruce

开始使用xdebug

首先在代码中打一个或多个断点(程序运行到这里会中断,然后会输出debug信息)

phpstorm配置xdebug - xiebruce

然后在phpstorm中选择要debug的应用程序(因为可以创建多个要debug的应用程序),然后点击小电话图标开始监听debug(不监听状态:phpstorm配置xdebug - xiebruce,监听状态:phpstorm配置xdebug - xiebruce),最后点击小虫子

phpstorm配置xdebug - xiebruce

点击小虫子后,会自动用浏览器打开然后又会自动跳回到phpstorm(看你debug的是什么位置,有时候不一定会跳),并且此时在phpstorm下方会输出debug信息。

设置debug的时候,运行到的那一行的代码颜色颜色

phpstorm配置xdebug - xiebruce

debug的行的这些信息怎样去掉?

phpstorm配置xdebug - xiebruce

点击下面这个按钮就能去掉

phpstorm配置xdebug - xiebruce

step into就是单步执行,遇到子函数就进入并且继续单步执行;


step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into效果一样的。


step out就是但单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函
数。

step into:进入子函数
step over:越过子函数,但子函数会执行
step out:跳出子函数



来自为知笔记(Wiz)