前提
- Laravel v9.17.0
- Sail v1.14.10
環境変数を定義
.env で xdebug を有効化し、設定を変更する
SAIL_XDEBUG_MODE=develop,debug SAIL_XDEBUG_CONFIG="client_host=host.docker.internal idekey=PHPSTORM start_with_request=yes"
ブラウザ拡張を使う方法なんかもあるが、 API とかだと必ずしもブラウザ経由とは限らないので、 start_with_request を有効にしておく。
起動する
アプリケーションを起動する
sail up -d
適当なところにブレークポイントを貼る。
デバッグコネクションの Listen を開始する。

アクセスする
ダイアログが出るので、取り敢えず Accept しておく。

Server を設定する
PHP > Servers に 0.0.0.0 とかで追加されているので、 path mappings を設定する。
Project files を /var/www/html/ にしておけば OK のはず。
他の項目もお好みで。

おわり
設定が終わったらもう一度アクセスしてみて、ブレークポイントで止まることを確認する。