Homestead+PHPStorm+Xdebug 远程调试配置

因为网上一堆复制的,十个结果里面九个是复制的,还有一个是错的。

下面所有过程都是自己配置过的,截图都是现截取的,如果有出现问题请仔细核对步骤

  • 写在最前面,我的环境
    如果后续步骤出现不符,请核对是否环境不同。

    Vbox版本 VirtualBox VM 6.0.6
    Vagrant版本 2.2.4
    laravel-homestead v8.5.3
    Homestead 8.4.0
    ubuntu18.04.1
    PHP Version 7.3.4

  • 配置虚拟机
    首先Homstead自带了开启Xdebug的脚本,直接在虚拟机内运行一行命令xon即可。
    关闭Xdebugxoff

sudo su
xon
service php7.3-fpm restart

为了确保生效建议重启一下php-fpm,注意要重启你使用的版本。
接下来查看Xdebug的配置文件在哪。因为默认的xdebug.remote_host需要修改一下。
这边我直接修改了Laravel的入口文件/public/index.php,加入一行echo phpinfo();
index.php
找到配置文件路径/etc/php/7.3/fpm/conf.d/20-xdebug.ini
phpinfo
查询一下虚拟机的默认网关

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.2.2        0.0.0.0         255.255.255.255 UH    100    0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

在配置文件中加入一行xdebug.remote_host = 10.0.2.2,其中10.0.0.2就是上面查到的默认网关
20-xdebug.ini
保存后重启php-fpm,检查一下phpinfo中输出的信息是否正确

  • 配置phpstorm
    Edit Configurations
    add php remote debug
    可选步骤,测试一下配置是否有问题。注意一下路径要到/public而不是项目根目录。
    check config
    接下去就是在浏览器安装Xdebug插件。这边自己根据浏览器安装。
    finish
    在正常情况下这样安装就可以调试代码了,但是这样还有点问题,除了public下的代码其他地方代码还是没有办法调试,所以还需要继续配置。(其实是系统的自动配置有点问题,在上面如果有点击检测系统会自动添加一个服务器,下面会说)
    file mapping
    接着配置CLI
    CLI config
    /routes/web.php中已经可以正常打断点了。
    finish
点赞