PhpStorm+Homestead+Xdebug调试Laravel

1、 安装Xdebug

1. 确认环境

官网的Homestead默认安装了多个版本的php,因此首先应该确认当前服务器使用的是哪个版本。php

命令行里的php与网站运行时的php是不同的,服务器使用的是php-fpm,因此不要在命令行下使用phpinfo()php --version来获取版本(我以前在这里被坑了很久)。浏览器

正确的方法应该是,在Homestead中随意找一个能运行的页面,在页面controller的第一行插入phpinfo();,而后会在该页面的最前面会插入服务器使用的php信息。bash

phpinfo

2. 安装Xdebug

Xdebug官方提供了一个检测工具,只须要提供phpinfo()的信息,就可给你一个详细的xDebug安装步骤。页面地址:xdebug.org/wizard.php;服务器

将第一步里的phpinfo页面的信息复制粘贴到工具页面的输入框里(复制哪些?所有吧,从标题PHP Version一直拖鼠标选择复制直到最后php licence)。而后点击Analyse my phpinfo() output,而后页面会给出详细的步骤,而后安装步骤一步步作就好。php7

3. 配置Xdebug

由于Homestead是在虚拟机里,要在宿主机内调试须要打开远程调试。app

/etc/php/7.2/fpm/conf.d/目录下新建xdebug.ini文件,修改xdebug的配置。编辑器

xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.scream=0
xdebug.cli_color=1
xdebug.show_local_vars=1
复制代码

而后重启服务php-fpm

sudo service php7.2-fpm restart
复制代码

再打开phpinfo页面,若是看到有xdebug的表格,即表示安装成功。再检查表格内的远程调试是否已打开,正确的话即配置成功。工具

2、配置PhpStorm

  1. 打开 Perferences -> Languages&Frameworks -> PHP,首先选择项目的php版本,以后在CLI Interpreter 网站

  2. 点击后面的...,在左侧栏顶部点击+,选择From Docker, Vagrant, VM, Remote

  3. 选择Vagrant,Vagrant Instance From选择Homestead所在的文件夹,确认返回

  4. CLI Interpreter里选择新添加的Remote PHP

  5. 打开Preferences -> Languages&Frameworks -> PHP -> Servers,给本身的项目添加新Server项,Host填入Homestead里配置的路径,Debugger选择Xdebug,勾上Use path mappings,在右边Absolute path on the server填入该项目在Homestead内的绝对路径,是以/home/vagrant/...开头的

  6. 点击Run -> Start Listening for PHP Debug Connection,开启监听,或者是点击右上角那个电话图标

3、配置浏览器插件

  1. PhpStorm推荐了几个Xdebug浏览器插件,选择所用浏览器对应版本便可
  2. 安装后浏览器右上角多了个甲虫图标,点击后选择Debug即开启调试

4、完毕

在编辑器内设置好断点,同时确保浏览器的插件为Debug状态,就能尽情debug了

相关文章
相关标签/搜索