やっと動いてくれたので、備忘録用に記事を書きます。
環境
今回はこのような環境で検証を行いました、
windows 10
DockerDesktop 4.3.0
PhpStorm 2020.3.3
Xdebug v3.1.2
Laravel
- php7.4
- Apache/2.4.52 (Debian)
Xdebugインストール
Dockerfileに以下を記載して、Dockerコンテナを作る際にXdebugインストールします。
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug
Xdebugを有効にする
php.iniに以下を追加します。
[xdebug]
xdebug.mode = develop,coverage,debug,gcstats,profile,trace
xdebug.start_with_request = yes
xdebug.log="/tmp/xdebug.log"
xdebug.client_port=9001
xdebug.client_host=host.docker.internal
xdebug.idekey=phpstorm
Dockerコンテナを起動
上記の設定が終わったら、Dockerコンテナを起動します。
$ docker-compose up -d
PhpStorm側の設定
ポート設定
File > Settings > Langueages&Frameworks > PHP > Debugを開き、
XdebugのDebug portをphp.iniで設定した値を入れます。(今回例だと9001)

servers設定
Nameは任意の名前を入力します。
Hostは任意の名前を入力します。
Portはphp.iniで設定した値を入れます。(今回例だと9001)
DebuggerはXdebugを選択します。
Use path mappingsにチェックを入れます。
Absolute path on the serverには、Docker内にソースを配置しているPathを入力します。
私の場合だとホスト側のsrcディレクトリ内をDocker側の/var/www/htmlに同期させているので、/var/www/htmlになります
Edit Configurationsの設定
PhpStormの右上にあるリストボックスから「Edit Configurations」を開きます

左上にある「+」ボタンを押して、PHP Remote Debugを選びます。

右側の設定値を入力します。
Nameは任意の名前を入力します。
Serverは上記のservers設定で作ったものを指定します。(今回の場合だとdocker-debug)
IDE keyはphp.iniで設定した値を入力します。(今回の場合だとphpstorm)
デバッグ準備
PhpStormの右上にある虫のアイコンをクリックします。(アイコンの右下に黄色のポッチがあるとONの状態です)

ブレイクポイント設定
あとは止めたい処理のところで、行番号の横の空白をクリックして●をつけてブレイクポイントを設定します。

サイトにアクセス
以上となります。


