Laravel开发系列三:PHPStorm+Homestead+XDebug3调试


前言

XDebug3的参数已经发生了改变,所以即使调试本地代码,也需要在php.ini中做一定修改。
使用PHPStorm调试虚拟机远程代码时,也需要进行特殊设定。

一、XDebug参数设定

1. 调试环境

$ vagrant ssh
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-65-generic x86_64)
* Homestead v12.0.0
* Settler v11.0.0 (Ubuntu 20.04)

$ vagrant version
Installed Version: 2.2.14

virtualbox 6.0
phpstorm 2020.3.3 (旧版本不能适配xdebug3)

二、配置XDebug

1. 开启XDebug

HomeStead默认是开启了PHP XDebug模块的。
也可以在配置文件中确认,以PHP 8.0为例:

vi /etc/php/8.0/mods-available/xdebug.ini

注意,新版本PHP使用的是XDebug3,所以配置语法会有一些差异。原来的需要删掉:

#zend_extension=xdebug.so
#xdebug.remote_enable = 1
#xdebug.remote_connect_back = 1
#xdebug.remote_port = 9000
#xdebug.max_nesting_level = 512

zend_extension=xdebug.so
#xdebug.remote_enable =On
xdebug.mode=debug #这个是开启debug
xdebug.start_with_request=yes

xdebug.remote_connect_back = 1
#xdebug.remote_host=localhost
xdebug.client_host=192.168.10.1 #主机的ip,vagrant虚拟机的IP是192.168.10.10
#xdebug.remote_port =9005
xdebug.client_port=9005  #对应PHPStorm中也是这个端口,默认的话是9000/9003

xdebug.max_nesting_level = 512
xdebug.idekey=PHPSTORM
xdebug.remote_log=/tmp/xdebug.log

修改完成后,需要重启php-fpm来使用新配置

vagrant@laravel:~$ sudo service php8.0-fpm restart

2. 配置检查

还是使用之前的phpinfo();页面来测试
在这里插入图片描述
这两个值如果是对的,说明xdebug模块已经启动成功

三、配置PHPStorm

1. 配置Debug Configure

点击这里进入配置界面
在这里插入图片描述
点击左边加号,新增一个PHP Remote Debug项目,然后填写好下面的几个选项。
最重要的是IDE key,这个和刚才xdebug.ini里设置的xdebug.idekey=PHPSTORM是对应的。
在这里插入图片描述
点击Server右边的…,新增一个Servers项目:
在这里插入图片描述
Host:Port指的是我们调试哪个页面。
homestead.test 是虚拟机WebServer服务的Url
Http请求默认走80端口
另外最重要的就是将本地代码和WebServer的代码映射填好。右边填写虚拟机上的代码路径。

下一步,通过File->Setting对PHP CLI进行设置
在这里插入图片描述
选择新增一个Vagrant的CLI,将Instance Folder设定为我们HomeStead工程所在的目录,成功后能看到如下显示:
在这里插入图片描述
返回Setting界面,点开Debug子选项
这里改成9005的目的,是因为上面xdebug.ini里设定的xdebug.client_port=9005
在这里插入图片描述
最后,校验一下,看看PHPStorm是否能够成功链接虚拟机:
在这里插入图片描述
这里有个小坑,最新版本的Laravel,将index.php放到了public目录下,所以这里validate会出错。
需要改一下目录:
在这里插入图片描述
到此位置,PHPStorm就和homestead虚拟机链接上了。

四、配置浏览器

1. 安装插件

以Chrome为例,可以去扩展程序页面,搜索Xdebug helper。
或者直接打开:

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

安装后即可看到右上角的debug标志。
切换到http://homestead.test/页面,点击标志,选择debug,标志会变绿

在这里插入图片描述

2. 打开PHPStorm调试

先开启调试,然后打开Start Listening for PHP Debug Connections
在这里插入图片描述
打上断点,刷新页面,断点生效!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值