开发中调试不可少,对于一个陌生的程序,使用debugger是更加方便的选择。

环境

  • xdebug 2.5.5
  • phpstorm 2017.2
  • firefox 54.0.1

准备工作

xdebug

首先需要安装xdebug扩展,可以在官网下载后使用phpize安装,也可以直接使用pecl install xdebug安装。

安装以后在php.ini中添加:

1
2
3
4
[xdebug]
zend_extension = "path-to-xdebug.so"
xdebug.remote_enable = On
xdebug.idekey = "PHPSTORM"

之后可使用phpinfo()查看是否已经启用了xdebug。

phpstorm

  1. 在Settings ->Languages & Frameworks ->PHP ->Servers 中,点击+添加一个服务器,Host和Port填写服务器所在地址和端口,Debugger选择Xdebug

  2. 在旁边的Debug中,查看Xdebug的设置,确保端口正确,xdebug默认端口为9000。

  3. 进入Debug ->DBGp Proxy,IDE KEY填入PHPSTORM,Host为本机,端口为80。

  4. 在Build, Execution, Deployment-> Deployment中,需要添加服务器信息,但是这个忘了在哪设置了,不过开始调试的时候会提示。

  5. 在Run里勾选Start Listening for PHP Debug Connection。

还需要配置一个 CLI Interpreter,phpstorm就可以获取到xdebug的信息。

firefox

  1. 安装插件 https://addons.mozilla.org/zh-CN/firefox/addon/the-easiest-xdebug/

  2. 在选项的IDE KEY中填入PHPSTORM

安装之后firefox工具栏会多出三个图标,分别是debug、trace、profile,这里只单击点亮第一个即可。

开始调试

按以上设置之后,在phpstorm中添加断点,在firefox中打开网址,发现代码就可以停在断点处了。

之后调试,只需在phpstorm的Run里勾选Start Listening for PHP Debug Connection,点亮firefox的debug图标就可以了。

使用vim

在unix-like系统中,使用vim也是很方便的一种选择。

安装vim插件

可以使用xdebug调试php的插件有很多,这里使用官方文档中提到的vdebug对应的vim.org网址

其它

xdebug有很多种链接editor的方式,可以适用于很多场景。

xdebug的一些设置

  • xdebug.extended_info 默认是1,开启后才能打断点,不需要使用调试的时候可以关掉,运行速度会快很多。

  • xdebug.idekey 默认值是环境变量决定的,用来控制标明传递给哪个DBGp。

  • xdebug.remote_host 默认值:localhost,debug的客户端所在地址。

  • xdebug.remote_port 默认值:9000,xdebug通信端口,在php.ini中修改后,在phpstorm中也要修改。

  • xdebug.remote_connect_back 用于多用户调试。

参考