【PHP】VSCodeでXdebugを使ってデバッグしてみる

~簡単な自己紹介~

  • 嫁と猫3匹と暮らすフルリモートの三十路SE
  • ブリッジSE的なポジションを務めることが多く、チーム運営、顧客折衝、ベンダーコントロールが得意
  • 投資・節約・副業で資産形成中
  • 現在の金融資産は約1,650万円、めざせアッパーマス層(資産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"
			}
		}
	]
}

デバッグをしてみる

緑色の▷ボタンをクリック、適当にブレークポイントを設定してからプログラムを実行してみます。

処理が途中で止まったら成功です。

以上になります。

お疲れさまでした。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です