PhpStorm+DockerでXDebugを使用する
プロジェクト毎に設定する
PhpStormのXDebug設定はプロジェクト毎に保存されるため各プロジェクトで設定が必要になる。
Preferences | Build, Execution, Deployment | Docker
下記は全プロジェクト共通のため一度だけ設定する。
+ボタンをクリックして、Docker実行環境を追加するConnect to Docker daemon with:はDocker for Macを選択する
Preferences | Languages & Frameworks | PHP
PHP language levelで使用しているPHPのバージョンを指定するCLI Interpreterの...をクリックする+ボタンをクリックしてからFrom Docker, Vagrant, VM, WSL, Remote...をクリックするDocker Composeを選択するService:からPHP-FPMが実行されているサービスを選択するOKをクリックするLifecycleのConnect to existing containerを選択するOKをクリックする
PHP Runtimeタブを選択するSync Extensions with InterpreterをクリックするApplyをクリックする
Preferences | Languages & Frameworks | PHP | Debug
Debug portをPHP-FPMの設定で指定したポート番号に合わせるIgnore external connections through unregistered server configurationsをチェックする- 外部からのデバッグ接続がサーバー構成に未登録の構成なら無視する
Break at first lien in PHP scriptsをチェックする(設定に問題ないことが確認できてらチェックを外す)
Preferences | Languages & Frameworks | PHP | Servers
+ボタンをクリックするNameに好きな名前を入れるHostとPortはこのプロジェクトで起動したページにアクセスする時のホスト名とポート番号を入れるUse path mappingsにチェックを入れ、DockerコンテナにマウントされるローカルディレクトリのAbsolute path on the serverにマウント先のパスを入れるApplyをクリックする
Configuration
- 右上
Add Configuration...をクリックする +ボタンをクリックしてからPHP Remote Debugを選択するNameに好きな名前を入れるOKをクリックする