コマンド系のXdebug
公開日:
2023.04.21
こんにちは、エンジニアの神山です。
今回はXdebugについて書いていきます!
PHPを書いていればデバッグツールは、おそらくXdebugになると思います。
(Xdebugしか知らない・・・)
IDEなどでブレイクポイントを指定していれば、実行時に対象の箇所に止まってくれて、変数の中身などを見れる非常に便利なツールになります。
通常の設定方法などは結構記事があるのですが、
Laravelで自作した独自コマンドなどに対してのXdebug設定の記事があまりない印象でしたので、設定について書いていきます!
前提
- PhpStormを使う
- Docker環境
- 通常のXdebugを設定済み
手順1
デバックをONに設定をしてください。
手順2
ここがポイントになります。
コマンド系を実行する際は当然ですが、コマンドを入力すると思います。
その際にコマンドを足して実行することで、Xdebugが動作するようになります。
実行コマンド
※Laravelのコマンドを例にしています
PHP_IDE_CONFIG="serverName=local" php -dxdebug.client_host=host.docker.internal -dxdebug.mode=debug -dxdebug.start_with_request=yes -dxdebug.discover_client_host=1 -dxdebug.client_port=9003 -dxdebug.idekey="PHPSTORM" artisan hogehoge
コマンドの詳細
PHP_IDE_CONFIG="serverName=local"
上記のserverName=localにあたる部分は下記になります
-dxdebug.client_port=9003
Phpstormで設定したポートを指定してください。
-dxdebug.client_host=host.docker.internal
client_hostにはdockerを指定します。
上記のコマンドを実行すると、コマンド系ソースコードのブレイクポイントで止まることができます!
コマンド系作成時は是非試してみてください!