1. Vagrant环境准备
使用Vagrant可以快速打包出我们需要的PHP环境,下面是Vagrantfile文件示例。启用XDebug需要在PHP.ini中配置,在Vagrant中运行vagrant ssh进入虚拟机,可以使用sudo vim /etc/php/7.2/fpm/php.ini编辑PHP配置文件,找到XDebug的配置项,修改如下:
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=filter.cards
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.remote_log=/var/log/xdebug/xdebug.log
2. PHPStorm配置
配置完成后,我们需要在PHPStorm中进行一些配置,在File-->Settings-->Languages & Frameworks-->PHP-->Debug中进行配置,如下图所示。
注意:我们需要确认一下我们要调试的页面已经开启session,设置cookie的时候,PHPStorm会引导我们安装一个Chrome插件(Xdebug helper),并且需要将Break at first line启用,这样可以在请求页面的时候自动停在第一行,如下图所示。
3. XDebug启动
如果所有的准备工作都做好了,XDebug启动非常容易,只需要在调试页面右上角打开Debug listening,然后刷新页面。
如果我们停下来准备查看一些变量或者执行一些代码,可以使用断点或者监视器,如下图所示。
这里有一些常用快捷键:
Step Over:F8
Step Into:F7
Stop:Ctrl+F2
Resume:F9
4. 工具对比
相比于其他调试工具,Vagrant+PHPStorm的优点如下:
快速和方便的环境准备
集成度高
功能强大和可扩展性高
当然,使用Vagrant+PHPStorm需要额外的配置和足够的技术储备,对于新手来说还是比较麻烦的。
5. 结论
综合来看,Vagrant+PHPStorm是一个非常好的工具组合,可以提高我们的调试效率和质量,适合中高级开发人员使用。