CodeArt-编码艺术

Vagrant配置Xdebug

字数统计: 741阅读时长: 3 min
2018/09/19 Share

相对于windows本地环境的配置,略微有些不同,也稍蛋疼一些,整个步骤大体分为

  1. PHP安装xdebug扩展,php.ini配置
  2. PhpStorm监听,共享目录等设置
  3. 浏览器Xdebug扩展安装

一、 根据PHP版本wget对应的Xdebug包

这里提供php5.4对应的包地址

1
wget https://xdebug.org/files/xdebug-2.4.1.tgz//下载

二、使用phpize安装扩展

1
2
3
4
5
6
7
wget https://xdebug.org/files/xdebug-2.4.1.tgz//下载
tar xvzf xdebug-2.4.1.tgz//解压
cd xdebug-2.4.1
phpize
./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
make
make install

此时应能在PHP扩展目录看到xdebug.so

三、 phpinfo查看Xdebug安装是否正常

部分环境因为安全需要禁用了phpinfo,需要修改php.ini开启

image

四、 修改php.ini 添加Xdebug相关配置

1
2
3
4
5
6
7
8
9
10
[Xdebug]
zend_extension = /usr/local/server/php/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so
xdebug.remote_enable =1
xdebug.remote_handler = dbgp
xdebug.remote_host = 10.0.2.2
xdebug.remote_mode = req
xdebug.remote_port = 9001
xdebug.idekey = PHPSTORM
xdebug.remote_autostart = 1
xdebug.remote_log = /tmp/xdebug.log

xdebug.remote_host 为客户端ip,此处客户端的概念指phpstorm所在的机器

image

一般多数服务是我们本机通过对应的端口去请求它,xdebug却相反,是服务器端来请求客户端,phpstorm配置对应的端口来进行监听,phpstorm所在的机器即为客户端,所以此处xdebug.remote_host 所填的地址可通过$_SERVER['REMOTE_ADDR']来获取,这里划重点,网上众说纷纭,此处请填客户端ip,勿填成了虚拟机ip

xdebug.remote_port 为约定的端口,默认为9000,有人说fastcgi会占用这个端口,所以我换成了9001

xdebug.remote_log 为日志选项,调试正常,可以使用之后,可以将其去掉

此处再提一点:约定的端口(9001)不用转发,本人便吃了自作聪明的亏

五、修改PhpStorm相关配置

5.1 解释器修改为远程解释器

例如配置为vagrant 虚拟机中的php

image

image

5.2 修改为约定的端口

image

5.3 配置DBGp

image

按理来说,配置到此处PHPStorm的配置就告一段落了,但网上很多文章提到需要配置这个Servers,让请求找到本地正确的目录

image-20190123164134995

其实这里是不用配置的,当开始调试,服务端与客户端正常通信后会自动创建,假如未检测到对应目录时则会要求你来进行配置

配置好后,开启phpstorm的监听

image-20190123164241506

六、 chrome安装对应扩展

https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

当然如果你没梯子,就这里下吧

https://www.crx4chrome.com/extensions/eadndfjplgieldjbigjakmdgkmoaaaoc/

装好后,右击->选项,配置key

image

接着在需要调试的页面,将他点成原谅色即启用啦

image

接下来ide中打断点,刷新页面测试吧

写在最后

大体上就是这样,有问题就根据xdebug.log来google一下,或留言交流

CATALOG
  1. 1. 一、 根据PHP版本wget对应的Xdebug包
  2. 2. 二、使用phpize安装扩展
  3. 3. 三、 phpinfo查看Xdebug安装是否正常
  4. 4. 四、 修改php.ini 添加Xdebug相关配置
  5. 5. 五、修改PhpStorm相关配置
    1. 5.1. 5.1 解释器修改为远程解释器
    2. 5.2. 5.2 修改为约定的端口
    3. 5.3. 5.3 配置DBGp
  6. 6. 六、 chrome安装对应扩展
  7. 7. 写在最后