【PHP Debug】Visual Studio Code と Xdebugでデバッグする方法 俺用メモ!

どうも!きよです!

環境構築するたびにデバッガーの使い方を忘れてしまうので、

Visual Studio Codeでのデバッガーの使用方法をメモっておきます!

スポンサーリンク




準備

・Visual Studio Code(PHP Debug のアドオンをインストールしておく)

・Xdebug

・PHPが動いてるサーバー(今回はDockerで作成してます)

xdebug.iniを作成する

php.iniに直接書いてしまってもいいですが、分けておいたほうがわかりやすいので、

今回はxdebug.iniを作成しました。

[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」を作成します。

{
    // 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を作成する

これだけです!

デバッガーは便利なのでぜひ使ってみてください

それでは!

スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク




%d人のブロガーが「いいね」をつけました。