1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel SailでXdebugを有効化する

Posted at

Laravel SailとXdebugにDockerfileのカスタマイズが必要な記事が多く出てきましたが、
2021/8/04にでた、Laravel Sail v1.9.0から公式でサポートしているので、そちらですすめていきます。

1.9.0未満の場合はアップグレードが必要です。

前提

  • Laravel Sailインストール済み
  • Sailのdocker-compose.ymlファイルがプロジェクトに存在している
  • composer.jsonの"laravel/sail"1.9.0以上

1.Laravel Sailの停止

Laravel Sailが起動していたら停止します。

sail down

2..envの編集

下記をLaravelの.envに追加します
(MacとWindows(WSL2)用)

SAIL_XDEBUG_MODE=develop,debug

※Linuxの場合はLinuxホストIP設定でIPの設定が必要です

#3.docker-compose.ymlの確認

デフォルトのままだとありますが、1.9.0未満だとなかったので確認します。
Sailのdocker-compose.yml内のlaravel.testenvironmentに下記があることを確認します。

XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'

例:

laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/7.4
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-7.4/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mariadb
            - redis

※アップグレードした場合一度 sail build --no-cacheで再ビルドが必要です

#5.確認

起動して確認します

sail up -d
sail php --version

PHP 7.4.25 (cli) (built: Oct 22 2021 12:34:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies
    with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans

ブラウザでの使用法はこちら

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?