PhpStorm8 + Vagrant +XDebug 配置

 vagrant默认已经安装好xdebug,可通过phpinfo()来确认。

224554_eTkF_1047422.png

下面是配置的步骤:


Xdebug 与 PhpStorm 如何与 vagrant 进行沟通?

xdebug 与 phpstorm 之间的通信是client-server模式。其中 xdebug 是 client, 他需要访问 phpstorm。而 vagrant 就是他们之间沟通的桥梁。


配置xdebug

首先通过命令行连接上vagrant

vagrant ssh

再输入命令

netstat -r

记住Gateway那一项的IP,通常是:

10.0.2.2

打开xdebug配置文件

cd /etc/php5/mods-available
vi xdebug.ini

将该文件内容改为:

zend_extension=/usr/lib/php5/20131226/xdebug.so
xdebug.idekey="debugit"  
xdebug.remote_host=10.0.2.2  
xdebug.remote_port=10000  
xdebug.remote_enable=1  
xdebug.remote_autostart=0  
xdebug.remote_handler="dbgp"


配置phpstorm,让他能够接受来自xdebug的请求

ctrl+alt+s 打开phpstorm 配置窗口,进入 Languages & Frameworks -> PHP -> Debug页面,将xdebug的端口设为10000,并确认勾选 can accept external connection项。点击apply保存。

212225_PJYS_1047422.png

对于phpstorm,vagrant相当于一个远程服务器,所以需要为phpstorm添加这个服务器以便通信。进入 Languages & Frameworks -> PHP -> server页面,填写你的 vagrant 服务器信息,重要的是将你的本地代码与虚拟机代码映射起来(只需要映射 项目根目录 与 站点根目录)

213144_eagD_1047422.png

添加一个php解释器,进入 Languages & Frameworks -> PHP 页面

213528_YwoA_1047422.png

写博客时我已经导入完成了,正常情况下,第一次设置需要手动导入vagrant自带的php解释器。点击Interpreter右侧的[...]按钮,弹出以下窗口:

213913_o3s0_1047422.png

点击+新建一个解释器,Remote选择Vagrant,Remote目录就是你键入vagrant ssh的目录,接下来填写可执行php文件的目录,如果填写正确,点击右侧蓝色同步按钮后,就会自动识别出解释器的版本信息。


创建一个phpstorm debug 配置

在IDE的工具栏点击Run->Edit Configurations

220443_wjBM_1047422.png

点击+创建一个PHP Web Application,为他起一个名字,并将Server设置为之前创建的Vagrant,点击apply保存。

点击 Run->start listening for php debug connections:

220803_EMjq_1047422.png

最后,在vagrant本地目录下重启虚拟机:

vagrant reload

在IDE设置好断点,并点击 Run->Debug 'Vagrant'就可以进行调试了。

223738_Y442_1047422.png

此时可以清楚地看到栈信息,由于代码在断点处停止执行,浏览器报 504 Timeout。

224046_xmgU_1047422.png

以上,phpstorm8 + vagrant + xdebug 的配置完毕。

转载于:https://my.oschina.net/findbill/blog/480971

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值