2
3

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.

PhpStormでLaravelをデバックする設定【Docker Compose編】

Last updated at Posted at 2021-04-07

忘れがちなPhpStormの設定あれこれで、PhpStomでVagrant環境のリモートデバッグ設定を書きましたが、今回はDocker Compose環境でのデバッグ設定です。

マシンスペック

  • Mac mini 2018
  • macOS Catalina(10.15.x)
  • Intel Core-i7 3.2GHz 6コア
  • メモリ 32GB
  • SSD 512GB

Docker環境

  • Nginx 最新版
  • PHP(PHP-FPM) 7.4.x
  • MySQL 8.x
  • Composer 2.x
  • Laravel 8.x
  • Redis 最新版
  • MailHog 最新版

やること

  • Docker Compose環境のPhpStormデバッグ設定

前提

このポート環境を満たしてないと、多分ブレークポイント止まらない。
【コピペ】Docker ComposeでLaravel開発環境を構築その肆#IDEでブレークポイント止める為の準備

Docker環境の準備

【コピペ】Docker ComposeでLaravel開発環境を構築その伍#使い方

デバッグするコードの準備

ブレークポイントを止めなきゃなので、WelcomeページをController経由に修正。

routes/web.phpを編集

routes/web.php
use Illuminate\Support\Facades\Route;
・・・
Route::get('/', function () {
    return view('welcome');
});

↓ 下記に編集。

routes/web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Web\WelcomeController;
・・・
Route::group(['namespace' => 'Web'], function () {
    Route::get('/', [WelcomeController::class, 'index']);
});

WelcomeControllerを作成

app/Http/Controllers/Web/WelcomeController.php
<?php

namespace App\Http\Controllers\Web;

use App\Http\Controllers\Controller;

class WelcomeController extends Controller
{
    public function index()
    {
        return view('welcome');
    }
}

デバッグする

デバッグ設定

  • 設定を開く。
    スクリーンショット 2021-01-22 21.21.20.png

  • Docker設定を追加する。
    スクリーンショット 2021-04-07 19.27.25.png

  • パスマッピングにはvolumesのパスを設定する。

docker-compose.yml
php:
  〜 略 〜
  volumes:
    - ./src:/home/docker
項目 設定値
仮想マシンパス /home/docker
ローカルパス /Users/xxx/docker/src
  • デバッグ設定を開き、コンテナ側ポートを設定する。
    スクリーンショット 2021-04-07 19.28.16.png

  • CLIインタープリター設定を開く。
    スクリーンショット 2021-04-07 20.10.24.png

  • CLIインタープリターを新規追加する。
    スクリーンショット 2021-01-23 1.45.29.png

  • 「From Docker, Vagrant, VM, WSL, Remote...」を選択する。
    スクリーンショット 2021-01-22 21.22.48.png

  • 構成ファイルを開く。
    スクリーンショット 2021-01-23 2.15.24.png

  • Docker Compose構成ファイルを、新規追加する。
    スクリーンショット 2021-01-23 0.26.54.png

  • docker-compose.yml を選択し、「OK」をクリックする。
    スクリーンショット 2021-01-23 0.28.03.png

  • サービスは「php」を選択し、「OK」をクリックする。
    スクリーンショット 2021-01-23 0.31.05.png

  • ライフサイクルを設定し、「OK」をクリックする。
    スクリーンショット 2021-04-07 20.27.37.png

  • PHP言語レベルを変更し、「OK」をクリックする。
    スクリーンショット 2021-04-07 20.29.58.png

  • サーバー設定を開き、追加する。
    スクリーンショット 2021-04-07 20.45.54.png

項目 設定値
名前 任意の名前
ホスト 127.0.0.1
パスマッピングを使用する チェックする
サーバー上の絶対パス /home/docker/laravel
  • 実行構成を追加する。
    スクリーンショット 2021-04-08 1.08.47.png

  • PHPリモートデバッグを追加する。
    スクリーンショット 2021-04-08 1.16.44.png

項目 設定値
名前 任意の名前
IDEキーでデバッグ接続 チェックする
サーバー サーバー設定で追加したXDebug
IDEキー PHPSTORM

デバッグ

  • PHPデバッグ接続のリッスンを開始し、デバッグを実行します。
    スクリーンショット 2021-04-08 1.40.16.png

  • ページアクセスすると、ブレークポイント置いた箇所に止まります。
    スクリーンショット 2021-04-08 1.45.04.png

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?