vscodeでxdebugでブレークポイントがうまく止まってくれない


はじめに

MAMPを使用して環境構築しました。
バージョン
PHP: 7.4.12

vscodeでソースコードを読み込んで実行しています。

xdebugを使うための設定

PHPのデバックツールにxdebugというものがあります。
MAMPをインストールした時点でxdebugもインストール済みという記事もありましたが、自分の場合はxdebugが入っていなかったので、手動でインストールしました。xdebugのインストールについては今回は割愛いたします。

xdebugはインストールしただけでは正常に動作しません。

まず、phpiniというPHPの設定ファイルに次のような追記が必要です。

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9001
zend_extension = /Applications/MAMP/bin/php/php7.4.12/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so

もしかしたら、いらない設定も入っているかもしれませんが、 念の為自分が成功した設定状況をそのまま記載しています。

以下は補足説明になります。

xdebug.remote_port = 9001 

この箇所は、9000がいいという意見や、9001の方がいいという意見がありました。自分は9001でやりましたが、9000でも大丈夫かもしれません。

zend_extension = /Applications/MAMP/bin/php/php7.4.12/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so

この箇所は、MAMP内のxdebug.soというファイルまでのパスを入力します。
私が使っている時点(2021/6/24)では、上記のパスにありました。
パス中の php7.4.12 の部分は、自分が使うPHPのバージョンを確認して入力します。

本来はこの設定で動くはずなのですが、自分の場合はこれだけではブレークポイントで止まってくれませんでした。

ブレークポイントで止まってくれない問題

自分の場合、以下の方法で正常に作動しました。

launch.jsonに

"stopOnEntry": true

という一文を入れます。これだけでした。

最終的にlaunch.jsonの中身はこうなりました。

"version": "0.2.0",
  "configurations": [

    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9001,
      "stopOnEntry": true
    }
  ]

xdebugで同じような点で躓いている方の参考になれば幸いです。