【PHP】VSCodeでXdebugを使ってデバッグしてみる
~簡単な自己紹介~
- 嫁と猫3匹と暮らすフルリモートの三十路SE
- 投資・節約・副業で資産形成中
- 現在の金融資産は約1,750万円、めざせアッパーマス層(資産3,000万円)
VSCode+Dockerで環境を構築しているPHPでデバッグをしてみる作業メモ&手順をまとめました。
開発環境は下記の記事で用意したものになります。
当記事はPHPでデバッグができる環境を作ることが目的の記事になります。
そのため、各ファイルやコマンドなどの解説は省略し、手順の一部簡略化を行っています。
目次
開発環境
- OS:Windows11
- Docker Desktopインストール済み
- VSCodeインストール済み
Xdebugをコンテナにインストールする
Dockerfileを編集する
infra\php\Dockerfileの末尾に下記の内容を追記します。
RUN pecl install xdebug && docker-php-ext-enable xdebug
php.iniファイルを編集する
infra\php\php.iniの末尾に下記の内容を追記します。
[xdebug]
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = "host.docker.internal"
xdebug.client_port = 9003
xdebug.log = "/var/log/xdebug.log"
コンテナをビルドする(Xdebugをインストールする)
下記のコマンドを実行して、コンテナをビルドします。
特に問題なく終了すれば、Xdebugのインストールが完了します。
docker compose up -d --build
拡張機能のXdebugをインストールする
VSCodeの左側のペインから拡張機能を選択→xdebugで検索→PHP Debugをインストールします。
デバッグの設定をする
左側のペインから実行とデバッグ→launch.jsonファイルを作成します→PHPを選択し、launch.jsonを開きます。
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": {
"/data/app": "${workspaceRoot}/src/app"
}
}
]
}
デバッグをしてみる
緑色の▷ボタンをクリック、適当にブレークポイントを設定してからプログラムを実行してみます。
処理が途中で止まったら成功です。
以上になります。
お疲れさまでした。