Lavavel SailでXDebugの利用

Laravel SailでVisual Studio CodeでXDebugの環境を作ったメモです。

Laravel Sailの新しいバージョンではすでにXDebugが入っているようです。

ネットの色々の情報を組み合わせてできたので誤りもあるかもしれません。

Visual Studio Codeの設定

まず拡張機能で「Remote - Containers」、「PHP Debug」をインストールします。

左メニューにある「実行とデバッグ」=>「launch.jsonファイルを作成します。」=>「PHP」と選んできます。

JSONファイルのconfigureations部分を書き換えます。

 "configurations": [ 
    {
       "name": "Listen for Xdebug",
       "type": "php",
       "request": "launch",
       "port": 9003,
       "pathMappings": {
         "/var/www/html": "${workspaceFolder}"
       },
     },

Visual Studio Codeは念の為再起動します。

Laravelの設定

.envに以下を追加します。

SAIL_XDEBUG_MODE=develop,debug

以下のコマンドを実行しDockerをビルドし、再起動します。

./vendor/bin/sail down
./vendor/bin/sail build --no-cache
./vendor/bin/sail up -d --build  

Visual Studio Codeのデバッグ

再度実行とデバッグを起動します。「Listen for Xdebug」を稼働します。

※ステータスバーに「Listen for Xdebug」というメッセージが表示されます。

エディタの行数の左にブレイクポイントを貼り付けて、ブラウザで開いた際にブレークポイントで止まることを確認します。