Visual Studio CodeでLaravelをデバッグする設定【Docker Compose編】
前回、Visual Studio CodeでLaravelをデバッグする設定【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環境のVSCodeデバッグ設定
前提
- Nginx 最新版
- PHP(PHP-FPM) 7.4.x
- MySQL 8.x
- Composer 2.x
- Laravel 8.x
- Redis 最新版
- MailHog 最新版
やること
- Docker Compose環境のVSCodeデバッグ設定
前提
このポート環境を満たしてないと、多分ブレークポイント止まらない。
【コピペ】Docker ComposeでLaravel開発環境を構築その肆#IDEでブレークポイント止める為の準備
Docker環境の準備
【コピペ】Docker ComposeでLaravel開発環境を構築その伍#使い方
デバッグするコードの準備
ブレークポイントを止めなきゃなので、WelcomeページをController経由に修正。
routes/web.phpを編集
use Illuminate\Support\Facades\Route;
・・・
Route::get('/', function () {
return view('welcome');
});
↓ 下記に編集。
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Web\WelcomeController;
・・・
Route::group(['namespace' => 'Web'], function () {
Route::get('/', [WelcomeController::class, 'index']);
});
WelcomeControllerを作成
<?php
namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller;
class WelcomeController extends Controller
{
public function index()
{
return view('welcome');
}
}
デバッグする
拡張機能をインストール
デバッグ設定
- デバッグするLaravelプロジェクトを開きます
- 左メニューの好きな所を右クリックします
-
実行をクリックします
-
launch.json ファイルを作成しますをクリックします
-
PHPをクリックします
- Laravelプロジェクトに追加されます
-
launch.jsonを編集します
- 赤枠を下記に変更します。
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9001,
"pathMappings": {
"/home/docker/laravel": "${workspaceRoot}"
}
},
デバッグ
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9001,
"pathMappings": {
"/home/docker/laravel": "${workspaceRoot}"
}
},
デバッグ操作は下記を参考にする。
Visual Studio CodeでLaravelをデバッグする設定【Vagrant編】#デバッグ
「Illuminate\Contracts\Encryption\DecryptException: The payload is invalid.」対応
ページアクセスすると、下記の例外に引っ掛かるかも知れません。
対応方法
- F12もしくは右クリック→「検証」で、デベロッパーツールを開きます。
- Applicationタブ→左側リストの「Cookies」→該当URLを選択すると、右側にリストが表示されます。
- 右側リストの「Name」を「app/Http/Middleware/EncryptCookies.php」ファイルに追加します。
再度ページアクセスすると、ブレークポイント置いた箇所に止まります。
※参考
【Laravel6】Xdebug実行で”The payload is invalid”と出る場合の対処方法(pgAdminを使用している場合)
Author And Source
この問題について(Visual Studio CodeでLaravelをデバッグする設定【Docker Compose編】), 我々は、より多くの情報をここで見つけました https://qiita.com/_bobtabo_/items/7fa74865c2b62d07fd95著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .