phpstorm远程调试

记录下phpstorm远程调试下使用方法

Xdebug 安装

使用命令可看服务端php的安装信息,其实就是phpinfo了

php -i

复制上面命令输出的东西到Tailored Installation Instructions页面中的输入框中,然后下载推荐的Xdebug版本
搞定上面一步后,提示我安装2.2.5版本的。

接着安装命令搞起来

wget http://xdebug.org/files/xdebug-2.2.5.tgz
tar -xvzf xdebug-2.2.5.tgz
cd xdebug-2.2.5
sudo ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config
sudo cp xdebug.so /usr/local/php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/

接着在php.ini中加入相关配置

[Xdebug]
zend_extension = /usr/local/php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so

Xdebug 配置

[Xdebug]
zend_extension = /usr/local/php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host= 10.0.2.2
xdebug.remote_port=9000
xdebug.max_nesting_level=200
xdebug.idekey="PHPSTORM"
xdebug.remote_autostart = 1

需要注意的几个点

  1. remote_host 为物理机的IP地址,使用$_SERVER[‘REMOTE_ADDR’]输出得到的IP
  2. remote_port 为phpstorm 监听的端口,xdebug端与phpstorm端需要对应
  3. idekey 这个是自定义的,可以随便填写,但是要和下面第五点设置书签的key一样

phpstorm 配置

如图搞起
PHPSTORM Xdebug 配置

开启监听

PHPSTORM 开启监听
PHPSTORM 开启监听

debug书签设置

PhpStorm bookmarklets generator
点击页面下面的generate,然后将生成的链接拖到书签栏上就可以了

测试远程调试

  1. 打开需要调试的页面
  2. 在对应代码中设置断点,让PHP在此处停下
  3. 使用第五步的,Debug this page 书签,开启Debug模式,然后就可以发现PHPSTORM变成这个样子了
    PHPSTORM远程调试

参考

  1. Zero-configuration Web Application Debugging with Xdebug and PhpStorm
  2. Cannot debug with PhpStorm + Vagrant + XDebug