注意
ブラウザからデバッグ用のクッキーを生成するのが前提となっているため、画面がついている機能でないと厳しいかも。
(細かいことはよくわからん)
デバッグ用のクッキーがあればいいだけっぽいので、
- APIをブラウザで一回開く
- ブラウザでデバッグON
- ブラウザからAPI叩く
- クライアントアプリでヘッダに↓を自分で付ける
とか、何かしらの方法でデバッグ用クッキー渡せればいい。
※リクエストのヘッダに↓つければクライアントは何でも止まる。(VSCodeのREST Clientを使って実験済み)
Cookie: XDEBUG_SESSION=PHPSTORM;
手順
要は、
- xdebugを入れる
- php.iniにxdebugの設定をいれる ※ここのURLの "Integrating Xdebug with the PHP interpreter"
- chromeの拡張機能に Browser Debugging Extensions 入れる
- chromeの拡張機能のオプションを開いて、使用しているIDE(ここではPhpStorm)にIDEKeyを変える
-
PhpStorm > settings > Languages&Frameworks > PHP > Debug > xdebug
で指定してあるポート番号と、php.ini内 > xdebugセクション
のport番号を合わせる
※デフォルトだと9000同士になっていると思うけどdocker for windows?が9000を使っていて9000が取れない時がある - デバッグしたいページ開いて、chromeの拡張機能を
Debug
にする(ブラウザにデバッグ用のクッキーが生成される) - PHPStormでブレークポイントを入れる
- PHPStormの↓をONにする
- 処理を実行すると、ブレークする