どうも!きよです!
環境構築するたびにデバッガーの使い方を忘れてしまうので、
Visual Studio Codeでのデバッガーの使用方法をメモっておきます!
スポンサーリンク
準備
・Visual Studio Code(PHP Debug のアドオンをインストールしておく)
・Xdebug
・PHPが動いてるサーバー(今回はDockerで作成してます)
xdebug.iniを作成する
php.iniに直接書いてしまってもいいですが、分けておいたほうがわかりやすいので、
今回はxdebug.iniを作成しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[xdebug] ; xdebug.soの場所を探して設定してください。 zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so" xdebug.remote_enable=1 xdebug.remote_autostart=1 ;xdebug.remote_connect_back=1 ; 自分はMacでDockerを動かしているので、remote_connect_backは0です xdebug.remote_connect_back=0 ;xdebug.remote_host="localhost" ; ホスト側のIP ; host.docker.internalはdockerのhostマシンのIPを解決してくれます。 ; hostマシン以外のIPの場合は適宜IPを調べて設定してください。 xdebug.remote_host=host.docker.internal ; 空いているport番号(xdebugのデフォルトは9000)。私の場合は他と競合していたので9001に設定。 xdebug.remote_port=9001 ; xdebugの出力するログの場所。今回は適当に/tmp配下に。 xdebug.remote_log=/tmp/xdebug.log |
※メモ1 xdebug.remote_connect_back=1 はホスト側とは別の場所で動いている場合(仮想環境など)
launch.json を作成する
Visual Studio Codeの設定ファイルの一つである「launch.json」を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9001, "pathMappings": { // {docker上のdocument root}:{ローカルのdocument root} "/src/laratest":"${workspaceRoot}" } } ] } |
※メモ1 「pathMappings」 は Laravelなどのフレームワークの場合、ドキュメントルートだとvenderが読めなくなるためプロジェクトディレクトリでパスを設定する
※メモ2 「port」はxdebug.iniのxdebug.remote_portと合わせる
まとめ
1.xdebug.iniを作成する
2.launch.jsonを作成する
これだけです!
デバッガーは便利なのでぜひ使ってみてください
それでは!