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了

相關文章
相關標籤/搜索