コマンド系のXdebug

こんにちは、エンジニアの神山です。

今回は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を指定します。

上記のコマンドを実行すると、コマンド系ソースコードのブレイクポイントで止まることができます!

コマンド系作成時は是非試してみてください!

Related article

おすすめ関連記事