環境
- windows10
- Laravel 8.x
- PHP 8.x
- VsCode
- gitbash 2.32.0.1
- Xdebug 3
動作イメージ
ブレークポイントを置いたところで、変数の中身が確認できる(var_dumpとかddとか使わなくてもよくなるので開発効率UP)
設定手順
Laravelプロジェクトの作成
laravelプロジェクトの作成までの手順はこちらの記事を参照ください。重要な設定項目は以下の通りです。

Docker・Laravel8・PHP8・Nginx・MySQLを用いて開発環境を爆速で構築する
WEBアプリをモダンかつ効率的に開発するための環境をDocker・Laravel8・PHP8・Nginx・MySQLを用いて構築する方法について解説しています。Dockerを用いることでかなりの速さで環境構築を行うことができ、ポートフォリオに組み込むことで企業の採用担当者からも好印象を持たれる可能性が高くなります。
php.ini
- launch.json(後述)のport番号を合わせる
- xdebugのバージョンにより記載方法が変わるため、詳細はこちらを参照(以下はversion3の書き方)
PHP8になってから、Xdebugも2→3にアップデートされたようです。
/// 割愛
[xdebug]
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = "host.docker.internal"
xdebug.client_port = 9012
xdebug.log = "/var/log/xdebug.log"
VsCodeの設定
phpdebugのインストール
VsCodeにインストールします。
PHP Debug - Visual Studio Marketplace
Extension for Visual Studio Code - Debug support for PHP with Xdebug
launch.jsonの設定
- portはphp.iniのportと合わせる
- pathMappingsは コンテナ内のプロジェクトのパス: ローカルのプロジェクトのパス で指定
.vscode\launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9012,
"pathMappings": {
"/var/www/my-app": "${workspaceFolder}/my-app"
}
}
]
}
docker-compose.ymlの設定
- php.iniとxdebugのログファイルをマウント
docker-compose.yml
version: "3.8"
services:
app-dl:
container_name: app-dl
build: ./docker/php
volumes:
- ./:/var/www
- ./docker/php/php.ini:/usr/local/etc/php/php.ini
- ./log:/var/log
// 割愛
Dockerfileの設定
docker\php\Dockerfile
- dockerコンテナをビルドする際にxdebugをインストールするように追記
RUN apt update \
# xdebugのインストール
&& pecl install xdebug \
&& docker-php-ext-enable xdebug
動作確認
どこでもよいので、デバッグしたい箇所にブレークポイントを置き(赤い丸がつく)、緑の開始ボタンをクリックするとデバッグ開始する
あとは、ブラウザでブレークポイントを設定した箇所の処理が走る画面にアクセスする(今回はindex.phpなので、Laravelトップページで動作確認可能)
以上になります。
コメント