本篇文章給大家介紹一下在vscode中使用xdebug調試PHP的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
調試分兩種:本地調試和遠程調試
【推薦學習:《vscode基礎教程》、《PHP視頻教程》】
本地調試
本地調試需要前提:
-
第一、php安裝xdebug擴展。如果已經安裝過php,可以使用php -m | grep xdebug來檢查是否安裝了xdebug。
沒有安裝xdebug,可以使用 apt-get install php-xdebug 來安裝。
然后使用php –ini找到php.ini文件的位置。
然后修改php.ini文件在里面添加下面兩行
xdebug.remote_enable = 1 xdebug.remote_autostart = 1
如果是在docker里面沒有vim,可以用 apt-get install vim 來安裝vim。
-
第二、vscode安裝PHP Debug擴展。
然后在vscode的settings.json文件里面添加本機的PHP的執(zhí)行路徑,linux系統(tǒng)可以用whereis php來查找php命令的路徑:
然后打開launch.json文件:
里面已經有了默認添加的9000端口的xdebug監(jiān)聽。
此時在php文件某一行加斷點就可以了.
遠程調試
調試遠程主機上的PHP項目,需要改動三個地方:
第一、修改遠程主機上的xdebug.ini文件
使用 php –ini找到xdebug.ini的位置:
php –ri xdebug 可以查看xdebug.ini文件的內容,如果你的xdebug.ini配置在php.ini里面那就修改php.ini。
將對應的remote_host和remote_port改成你自己的ip和端口。比如說這里的端口是9020。
第二、修改vscode中的launch.json文件
在vscode的launch.json文件中新增對9020端口的監(jiān)聽配置,例如:
里面的name隨便起,要把port設置成遠程對應的端口,pathMappings設置成自己項目對應的目錄。
第三、打開自己電腦的遠程調試接口
比如我這里的調試端口是9020,打開防火墻的高級設置:
然后在新建規(guī)則里面添加對9020端口的支持:端口->TCP->特定端口的支持9020->一直下一步就可以了,出站規(guī)則里也可以添加對9020端口的支持。
到此就配置成功了。此時添加斷點,運行遠程項目就可以看到已經在本地斷住了,下面就是開心地找bug了:)。