PhpStormでXdebugを使うメモ(Laravel sail)

概要

参考

blog.junpeko.com

www.webopixel.net

version

$ php --version
PHP 8.0.13 (cli) (built: Nov 19 2021 06:35:14) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.13, Copyright (c), by Zend Technologies
    with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans

Xdebug 3

  • 3から設定が変わったらしい。(php.iniの記載内容)
    • とはいえ、今回laravel sailでは設定いじらない

xdebug.org

xdebug.remote_enable=1
xdebug.default_enable=0
xdebug.profiler_enable=0
xdebug.auto_trace=0
xdebug.coverage_enable=0

昔こうだったのが、

xdebug.mode=debug

こんなふうになるとか。

Laravel sail

  • 上記の通り、php.iniは特にいじらなくてOK(デフォルトでlaravel sailにはxdebug入ってるので有効にするだけ)
  • .envを有効にする
    • docker-compose.ymlには、デフォルトoffで設定されている
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'

XDEBUG_MODEがデフォルトoffになっているので、onに設定する(.envに追記)

SAIL_XDEBUG_MODE=develop,debug

PhpStormの設定

settings

f:id:y-ni-shi:20211121015602p:plain

PHPのバージョンを自分の環境に合わせて修正

f:id:y-ni-shi:20211121015647p:plain

CLI Interpreterで、Dockerの環境を設定する(選ぶだけでOK)

f:id:y-ni-shi:20211121015802p:plain

Dockerのコンテナの内部のパスと、ローカルのパスとを合わせる

f:id:y-ni-shi:20211121020055p:plain

実行設定の追加

remote debugを追加

f:id:y-ni-shi:20211121021114p:plain

ブラウザからのデバッグ

  • xdebug.start_with_requestの設定がyesではないので、ブラウザからのデバッグを有効にするには、Chrome拡張を入れる必要がある模様

www.jetbrains.com

f:id:y-ni-shi:20211121021414p:plain