phpstorm下开启debug调试

最近又捣鼓起了Yii2框架,开发过程中,难免要debug。之前排错的方式是,return结果到前台,或者打印想要的信息到log文件。用的时候也很爽,但总感觉哪里不对劲。没错,就是没有用到断点调试,看看别人家的开发语言,Java,JavaScript等等,哪一个不是配合IDE断点调试,爽到飞起。怎么就忽略了PHP。

下面开始配置一下。

安装xdebug

Xdebug是一个PHP扩展,提供调试和性能分析功能。安装方法: Xdebug安装
我这里偷了个懒,直接使用PHPstudy,打开了xdebug扩展。
PHPstudy打开扩展

php.ini 配置

xdebug 2

1
2
3
4
5
[xdebug]
zend_extension="<path to xdebug extension>"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port="<the port (9000 by default) to which Xdebug connects>"

xdebug 3

1
2
3
4
5
[xdebug]
zend_extension="<path to xdebug extension>"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"

Phpstorm配置

  1. 配置php cli
    配置php cli
    点击cli配置你的php路径即可。

  2. 配置调试器
    配置调试器
    调试端口填写php.ini中xdebug.remote_port的端口号。然后就可以了。

使用方法

首先打开phpstorm右上角的侦听按钮
侦听按钮

然后有如下两种方法进入debug模式

  1. 浏览器xdebug插件

  2. postman请求

    1. XDEBUG_SESSION_START
      第一次请求时url加XDEBUG_SESSION_START=PHPSTORM,response响应头会set cookie: XDEBUG_SESSION=PHPSTORM;到cookie中,之后就不用手动显式调用了。
      XDEBUG_SESSION_START

    2. 添加PHP server
      其实这一步不用手动添加,在2.1步骤中,IDE会让你选择是否应用传入的更改。这里默认选择应用更改就行。
      添加PHP server
      可以看一下,server已经创建好了。
      PHP server

这下可以了,debug下code,进入框架源码看一下还是很舒服的。

参考资料