XAMPPにXdebugを入れたのにVSCodeのブレークポイントで止まらない現象の解決法

XAMPPとVSCodeの最新版をインストールしてXdebugを導入した際に、過去の設定ではしっかりと機能していたデバッグの機能(ブレークポイント)が効きませんでした…。

解決策がなかなか見つからずに3時間ほど苦戦したのでメモとして残します。

【現象】参考サイト通りに設定したのにブレークポイントが機能しない…?

XAMPPとVSCodeは下記のバージョンをインストールしました。

  • XAMPP:8.0.0 / PHP 8.0.0
  • Visual Studio Code :バージョン1.52.1

各種インストールの方法は下記記事を参考にして進めました。

XAMPP:今さら聞けない!XAMPPをインストールする方法【超初心者向け】
Visual Studio Code: Visual Studio Codeインストール手順<Windows向け>

各種ソフトのインストールは完了したので、次にPHPのデバッグ作業を行うためにXAMPP環境でのデバッグ環境を整えます。
デバッグには「Xdebug」を活用しますので、下記辺りの記事を参考にして設定を行いました。

私の場合は「php_xdebug-3.0.1-8.0-vs16-x86_64.dll」をダウンロードしました。

Xdebugのライブラリダウンロードページ

上記設定を済ませてVSCodeでブレークポイントを張ってデバッグを実行してみましたが、何度試してもブレークポイントで止まらずにそのままページが表示されてしまいました…。

設定を再確認しても間違っている箇所はないため、下記記事なども参考にして色々と試しましたが、いずれも解決には至りませんでした。

phpinfoの内容が解決のヒントに

お手上げ状態で2時間ほど解決策を探していたところ、phpinfoの情報に今まで見なかった下記の記述を見つけました。

Xdebugの設定情報

過去の設定では見た覚えがなかったのでほぼそのままコピペしてGoogleさんで検索してみると、下記のような記事が見つかりました。

参考記事のタイトルにもなっていますが、どうやらXdebugは2系から3系に変わったことで設定の方法が変わったようです。

php.iniファイルへの記述をXdebugの仕様変更に合わせて修正することで問題を解決

具体的にはphp.iniへの記述が下記のように変わったみたいです。

Xdebug2系のphp.iniファイルの記述

Xdebug3系のphp.iniファイルの記述

全然違いますね…。

上記に加えて、デフォルトのポート設定も変わったみたいなのでphp.iniのXdebugの設定を下記のように変更しました。

上記設定後にXAMPPを再起動して再びブレークポイントを試したところ、無事ブレークポイントで処理が止まるようになりました。

ブレークポイントで処理が止まっている

今回の問題は解決策にたどり着ける記事がなかなか出てこなかったので、もし同じような問題が発生して困っている方がいたら参考にしていただきたいです。

返信を残す

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