phpstorm配置xdebug

首先配置好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

接上图:

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

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

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

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

设置phpstorm xdebug监听的端口

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

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

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

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

浏览器中安装xdebug插件

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

 

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

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

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

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

cookie:

 

开始使用xdebug

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

 

 

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

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

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

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

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

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


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


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

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





原文地址:https://www.cnblogs.com/xiedie/p/5398150.html