PS:最近在學Laravel框架,本機IDE是Vscode,因為Vscode是真的好用!今天突然想調試php代碼了,於是瘋狂地在網上查資料,經過一上午的不懈努力,終於成功了!
准備工作
首先環境要保證安裝對了,如Homestead,還有virtual box ,vagrant之類的。相信你已經安裝了完成了基本的開發環境。
1.接下來安裝PHP debug,在VS Code擴展應用里安裝該擴展:

2.然后登陸到Homestead上:$vagrant up
$vagrant ssh
3.在Homestead上啟用Xdebug(因為Homestead默認是安裝了Xdebug的,所以不用安裝了)
$ xon
4.然后找到訪客的網關IP,$ netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10
我的輸出是:10.0.2.2。記錄下來,后面會用到。
5.找到xdebug.ini的路徑: $php --ini | grep 'xdebug'
我的輸出是/etc/php/7.1/cli/conf.d/20-xdebug.ini ,記錄下來,后面會用到。
6.編輯xdebug.ini(sudo vim /etc/php/7.1/cli/conf.d/20-xdebug.ini)
刪除里面原有的所有配置,加入下面的代碼(遠程主機的那項填的是你自己上面輸出的結果喲):
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_host=10.0.2.2
7.重新啟動PHP-FPM服務:$ sudo service php7.1-fpm restart
8.修改VsCode里,PHP下的launch.json文件,配置新的項(Listen for XDebug on Homestead)用於調試(加入路徑的映射):
9.測試,給E:/Code下的一個文件,加上斷點,然后選中調試選項Listen for XDebug on Homestead,開始調試,
進入項目的網站,並使之運行到斷點處,觀察調試結果如下:

可以看到,左邊監聽欄輸出了相應的異常結果,大功告成,接下來,就可以輕松地分析出錯誤的原因了,ok~。
注意:如果不能成功調試,請返回第8步,仔細檢查你項目的路徑,然后填上相應的路徑映射。
