彡(゚)(゚)「おっしVisualStudioCodeでデバッグ環境を作ってみるか」
ってことで、最近はVisualStudioCodeで作業をすることも多いので、ついでだからPHPのデバッグ環境も作っちゃおうかなーと思います。
VisualStudioCodeは最近のアップデートでついに待望のタブが実装されたようです!
これはホント便利ですね。というかこの機能がなくてむしろ不便だった!
最近のMSさんはほんといい仕事してますなぁ
なお、この記事を書いてる時点での私ですが、軽くいっぱいやっちまいました(´ω`)
誤字脱字がありましたらご容赦のほどを
とりあえず環境準備
今回の環境は普段仕事でも使用しているVagrantを使います。
VM上につくる環境ですが以下の通りです。
・CentOS7
・Nginx
・PHP7 & PHP-FPM & Xdebug
環境はAnsibleで構築しようと思います。
打ったコマンドは
vagrant up ansible-playbook -i hosts -vvv site.yml
だけ。
playbookも既に資産として持っているとこういう時に地味に便利ですなぁ(´ω`)。
そのプレイブックの内容はまた別途機会があれば・・・。
当然のことながらホストOSとゲストOSとでフォルダを共有して、そこにPHPを置く必要があります。
今回は/vagrant
フォルダにPHPを置いていきます。
つまりNginxのDocumentRootも /vagrant
ということになります。
VisualStudioCodeの設定
vscodeに最低限必要なのはPHP DebugというExtensionになります。
vscode上で
F1, type ext install php-debug.
とやってください。
PHPDebugが候補に出てきたら躊躇なくインストールしましょう。
launch.jsonの設定
今回設定したlaunch.jsonの内容は以下の通りです。
{ "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "serverSourceRoot": "/vagrant/", "localSourceRoot": "${workspaceRoot}" "port": 9000 }, { "name": "Launch currently open script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9000 } ] }
ポイントは
"serverSourceRoot": "/vagrant/", "localSourceRoot": "${workspaceRoot}"
の箇所すね
ここまで設定できたら後は他のIDEと同じようにブレークポイントを設定するなりして、デバッグを開始すると、ブレークポイントで停止し、変数の中身などが見れるようになりますぞ(´ω`)