【Docker/Laravel6】Xdebug3を使ってデバックをする方法(VSCode)

2020年12月21日Docker,Laravel

スポンサーリンク

Dockerで構築したLaravel上でステップ実行デバックするためにX-Debugを導入する方法です。
VSCodeを使います。

Dockerfileファイルの修正

Dockerfileファイルに以下を追記

RUN apt-get update && \
// 省略
// 以下の2行を追記
  pecl install xdebug && \
  docker-php-ext-enable xdebug && \

php.iniに追記(Xdebug v3の書き方。Xdebugのバージョンによって書き方が違うので注意)

[xdebug]
xdebug.mode=debug
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.start_with_request=yes
xdebug.log=/tmp/xdebug.log

launch.jsonを以下のようにする。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "pathMappings": {
                // "Dockerコンテナ内のプロジェクトパス": "ローカルのプロジェクトパス"
                "/work/backend": "${workspaceFolder}/backend"
            }
        }
    ]
}

これでブレークポイントを置いて"デバックの開始"をすればステップ実行されるはず。

Docker,Laravel

Posted by ton