断点调试是编程的一大利器,为我们的调试工作带来很多便利。但是php的断点调试一直不是一件很容易的事情, 所以大部分的phper都还是停留在使用 死亡输出 来进行代码调试。这也是php被一部分javaer吐槽比较多的地方。 本文我就讲讲如何用phpstrom配置php的断点调试。

安装xdebug

在配置断点调试之前,你必须先安装xdebug,先去官网下载源码,然后编译安装就好了。(windows用户请直接下载编译好的二进制包)

wget https://xdebug.org/files/xdebug-2.5.0.tgz
tar xvpzf xdebug-2.5.0.tgz
cd xdebug-2.5.0 && phpize
./configue 
make && sudo make install

安装好了之后,在php的配置文档中启用xdebug

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_mode=req
xdebug.idekey="PHPSTORM"
xdebug.auto_trace=1
xdebug.remote_port = 9000
xdebug.remote_host = 127.0.0.1
xdebug.remote_handler = dbgp
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.profiler_enable=1

如果是windows系统,请把xdebug.so 改成 xdebug.dll

配置phpstorm

phpstrom 的配置很简单,监听xdebug的端口就好了,打开菜单 Languages -> Frameworks -> PHP -> Debug, 把 Debug port 改成9000就好了。

添加chrome xdebug 扩展

要在web端进行断点调试,还需要给谷歌浏览器(目前只支持chrome)安装一个xdebug helper,这个只需要chrome web store 去搜索以下,然后添加就好了。

安装好之后,你的浏览器右边工具栏就有会出现一个xdebug的小图标,调试的时候点击图标选择绿色的那个状态就好了。

开始断点调试

一切准备就绪之后,就可以开始断点调试了。首先在chrome把xdebug扩展设置为调试状态(绿色)

然后还需要在phpstorm点击那个绿色的小电话

访问你打了断点的页面,你就会发现你可以向java那样调试了


从此断点调试变得如此简单。