PHPStormで自作WordPressテーマの編集中にブレークポイントを使いたかったのでXdebug3の設定を行った。
Xdebugは2020年12月にXdebug 3のメジャーバージョンアップが行われ、いくつか 設定の方法がXdebug 2から変わっている ので注意が必要である。本記事はXdebug 3の内容となっている。
Xdebugを有効にするとパフォーマンスが落ちるので本番サーバでは設定すべきではない。自分はVagrant仮想環境でテーマを開発しているのでこの点は問題なく、さらに仮想環境へアクセスするのが基本自分のPCだけという前提の 雑な設定 となっている。なので内容を理解した上で流用していただきたい。
php.ini
へ追加した設定は以下になる。
[xdebug]
; http://xdebug.org/docs/all_settings
xdebug.mode=debug
xdebug.discover_client_host=yes
xdebug.start_with_request=yes
xdebug.start_upon_error=yes
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1
接続するクライアントが自分のPCと限られているので xdebug.discover_client_host=yes
にして xdebug.client_host
の設定を入れていない。
自分は面倒くさがりなので xdebug.start_with_request=yes
で自動で開始になるようにしている。デフォルトだとXdebugにデバッグの開始を依頼するHTTP情報を送るため、 ブラウザの拡張機能 等が必要になってくるが、面倒なのでそれは追加せずにこの運用にしている。
エラーがあったら止めてほしいので一応 xdebug.start_upon_error=yes
も入れている。
var_dump
が途中で打ち切られるのが嫌なので xdebug.var_display_max_*
を -1
にしている。この設定の場合、循環参照があると出力が無限ループに入るのでvar_dump
する変数には注意が必要である。