LoginSignup
6
4

More than 5 years have passed since last update.

vagrantのXdebugでVisualStudioCodeからデバッグする

Last updated at Posted at 2017-04-07

前提条件

  • vagrantにXdebugが正しくインストールされていること
  • VisualStudioCodeがインストールされていること
  • PHP7であること※今回はPHP7を使用するため
  • 仮想環境のWebサーバがNginxであること
  • 筆者はWindowsです

上記の環境に合わせて作りたいなと思う方はこちらへ※今回はこんなかんじの環境です
php環境構築(Vagrant + VirtualBox + php7 + Nginx1.10 + MariaDB10~)

EclipseやNetBeansを卒業しようかなと思い、やってみたら意外とはまったので、共有です。

デバッグができるようにするフロー

1.デバッグの構成を開く

デバッグ > 構成を開くを押下する

無題.png

2.launch.jsonの編集を行う

下記画像とは、違う記述がされていると思いますが、
結論からいえば、以下の部分を自分の環境を合わせるといいと思います。
主に合わせていただくのは、以下の3点くらいだと思います。
serverSourceRoot: "接続先サーバー上のドキュメントルート",
localSourceRoot: "ローカルマシン上のソースコードのディレクトリ",
port: "php.iniで記載したxdebugのportを記載する"

serverSourceRootとlocalSourceRootの関係性は、
EclipseやNetBeansなどに言い換えると、パスマッピングです。
※ちなみに、localSourceRoot: "${workspaceRoot}"は、VSCodeで開いているディレクトを指定するという意味。
今回は、絶対パスで指定しています。

1.png

3.ファイル > 基本設定 > 設定を開く

2.png

4.設定の編集

結論から言えば、以下画像のように記載する必要があります。
Debugの紐付けとは関係ないのですが、Debugを快適にするために、以下の設定が必要になってきます。

4-1.ローカルにPHPがない場合、インストールする

以下からダウンロードして自分の好きなディレクトリにデプロイしてください。
※今回は、前提として、NginxでありVagrantで作成した環境にxdebugがインストールされていることなので、VC14 x64 Non Thread SafeのZipをダウンロードしてデプロイします。
http://windows.php.net/download#php-7.0

4-2.パスを設定する

好きなディレクトリに展開したら、
php.validate.executablePath: "展開先のphp.exeまでのパス",
php.executablePath: "展開先のphp.exeまでのパス"
上記のphp.executablePathは、VSから読み込まれず、緑の波線が出るのですが、
これがないとうまく読み込んでくれないみたいです。

3.png

5.拡張機能を導入する

左の上から5番目のマークを押すと、拡張機能されている一覧が開きます。
なにもいれていないと何も出ないはずです。
そこでPHP IntelliSenseとPHP Debugがなければ、インストールします!
上部にある検索欄からPHPと入力すればPHP関連の拡張モジュールが出ますので、
そこからインストールをします!
4.png

6.拡張機能を読み込みなおして、いざデバッグ!!

F5を押すとすぐにデバッグが開始されて一番下のバーがオレンジに変わります!
ちなみに複数のデバッグ環境を作成したいた際は、デバッグ画面が開いた上部にプルダウンで切り替えられるので、お手軽に切り替えをします。
あとはいままでどおりとめたいところで、エディターに赤い点をうつだけで!

5.png

以上が、VisualStudioCodeからデバッグを行う方法でした。
お疲れ様でした!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4