Xdebug是一个PHP的扩展,它可以允许PHP开发者调试与分析代码,追踪错误。如果你不熟悉它,可以在看本篇文章之前,参考一些Xdebug的相关教程。
在这篇文章,我将教你如何在PHPStorm和Vagrant虚拟环境下配置Xdebug。
准备一个vagrant虚拟环境,安装和启动Homestead(Laravel集成包),当你进入到Laravel的欢迎界面,代表准备工作已经完成了。(集成包默认已经安装了xdebug)
配置xdebug.ini
为了允许xdebug的远程特性,我们需要修改它的配置文件,并且加上几条配置语句。Homestead的xdebug.ini默认位置在/etc/php/7.2/mods-available,找到以下语句:
zend_extension=xdebug.so
在这条语句下面,添加:
xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.idekey = "vagrant"
保存配置文件,重启Homestead或者PHP-FPM(sudo service php7.2-fpm restart),这就是配置xdebug的全部过程了。
配置PHPStorm—服务器
PHPStorm也同样需要一些配置,首先我们在PHPStorm中打开Laravel项目目录:
然后,打开PHPStorm配置项,依次进入PHP->Servers,添加一个新服务器。给新主机起个名字并给它80端口。在host的下面,把你项目的站点域名(本地)填上去(Homestead默认是homestead.app)。然后,做路径地图映射,这样就可以让PHPStorm定位虚拟环境中的目录。
配置PHPStorm—进行Debug的配置
要在项目中运行debugger,我们需要创建一个debug环境。打开Run->Edit Configurations。在这里,创建一条「PHP Web Application 」的新配置项:
应用新的配置,并关闭此配置窗口。
测试一下
以上便是所有的配置过程了,下面我们来测试一下Xdebug是否可以正确的工作。
首先我们在Laravel项目的路由(app/routes.php)中添加:
然后打开Run->Debug,选中你刚才添加的配置项,这时会在浏览器中弹出你的项目地址,如果项目被正确打开了,PHPStorm将会弹出debug的选项卡,里面记录的程序的运行流程和错误追踪。