こんにちは、かつコーチです。
前回、Laravelの特徴と魅力について解説しました。
「じゃあ実際に触ってみよう」となったとき、最初にぶつかる壁が環境構築です。
調べてみると、Docker、MAMP、XAMPP、Laravel Sailと、いろいろな単語が出てきて「結局どれを使えばいいの?」と迷った方も多いと思います。
私自身も初学者だった頃、この選択肢の多さでかなり時間を溶かした経験があるので、今回はそこを重点的に整理していきます。
Laravel開発環境、選択肢が多くて迷う理由
そもそも何が必要なのか
Laravelを動かすには、最低限次の3つが必要です。
- PHP:Laravel自体がPHPで書かれているため
- Composer:LaravelのライブラリをインストールするためのPHPパッケージ管理ツール
- データベース(MySQLなど):多くのアプリでデータ保存に使う
PHP編でXAMPPを使って環境構築した方は、この3つのうちPHPとMySQLはすでに用意できている状態です。
問題は「この上でLaravelをどう動かすか」で、ここに複数の選択肢が存在します。
主要な選択肢
代表的な選択肢は次の3つです。
- Laravel Sail:Laravel公式が用意している、Docker上で動くLaravel専用の開発環境
- XAMPP / MAMP:PHP編でも使った、パソコンに直接PHP・MySQLをインストールするタイプのツール
- Docker(Sailを使わず自分で構築):Dockerの知識があれば、独自の構成を組むことも可能
このうち、Laravel Sailは中身がDockerなので、実質「Docker系」と「XAMPP/MAMP系」の2択と考えるとシンプルです。
Docker(Laravel Sail)・MAMP/XAMPPを比較する
比較表
| 項目 | Laravel Sail(Docker) | XAMPP / MAMP |
|---|---|---|
| 公式の推奨度 | 2026年現在、公式が推奨する標準的な方法 | 非推奨ではないが「Dockerを使わない場合の選択肢」という位置づけ |
| 導入の手軽さ | Dockerさえ入っていればコマンド1つで環境が揃う | インストーラーで導入済みなら追加設定は少なめ |
| 環境差異 | OSが違っても同じ構成を再現できる | OSやローカル環境によって微妙な差が出ることがある |
| 複数プロジェクトの扱い | プロジェクトごとにPHP/MySQLのバージョンを切り替えやすい | バージョンの切り替えがやや面倒 |
| 学習コスト | Dockerの概念を新たに覚える必要がある | PHP編ですでに触っているため学習コストが低い |
| PCへの影響 | PHP・MySQLをPCに直接インストールしない | PHP・MySQLがPCに直接インストールされる |
なぜLaravel Sailが公式推奨なのか
Laravel Sailは、Laravelのインストール時に選択できる「Docker構成一式」です。
「自分のPCでは動くのに、別のPCでは動かない」という環境差異のトラブルが起きにくいのが最大のメリットです。
チーム開発では、全員が同じ設定ファイル(docker-compose.yml)を使うので、環境構築の手順を1つずつ説明する手間が減ります。
結局どれを選べばいいのか:判断軸
PHP編からそのままXAMPPを使うか、Sailに切り替えるか
PHP編でXAMPPを使ってきた方に向けて、判断軸を整理します。
- とにかく早くLaravelに触ってみたい・学習目的で1人で進める → まずはXAMPP環境の上でComposerを使ってLaravelを動かしてOKです。慣れた環境の方が余計なつまずきが減ります
- 将来的にチーム開発・案件に関わる可能性がある → 早い段階でLaravel Sail(Docker)に慣れておくのがおすすめです。実務では「Sailが動かせる」ことが前提になっている現場が多いです
- すでにDockerに抵抗がない → 迷わずLaravel Sailを選んでください。公式推奨のメリットをそのまま享受できます
私が実際につまずいたポイント
私が初めてLaravel Sailを試したとき、./vendor/bin/sail up を実行したら次のようなエラーで止まりました。
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: address already in use
原因は、XAMPPのMySQLが裏で起動したままだったことでした。
同じ3306番ポートをXAMPPのMySQLとSailのMySQLコンテナが取り合って、エラーになっていたのです。
XAMPPのMySQLを停止してから sail up をやり直したところ、無事に起動しました。
XAMPPとLaravel Sailを併用する場合は、片方を停止してから使うか、ポート番号をどちらかで変更する必要がある、というのは覚えておいて損はないポイントです。
環境構築の実際の手順(ざっくり)
XAMPPを使う場合
XAMPPは既に導入済みという前提で、Composerでプロジェクトを作成します。
composer create-project laravel/laravel my-first-laravel
cd my-first-laravel
php artisan serve
php artisan serve を実行すると、http://127.0.0.1:8000 でLaravelの初期画面が表示されます。
Laravel Sailを使う場合
Dockerを導入済みという前提で、次のコマンドで環境ごと作成できます。
curl -s "https://laravel.build/my-first-laravel" | bash
cd my-first-laravel
./vendor/bin/sail up
初回はDockerイメージのダウンロードが走るため少し時間がかかりますが、完了すれば http://localhost でLaravelの初期画面が表示されます。
まとめ
この記事のポイント
- Laravelの環境構築の主な選択肢は「Laravel Sail(Docker)」と「XAMPP/MAMP」
- 2026年現在はLaravel Sailが公式推奨で、環境差異が出にくくチーム開発に向いている
- XAMPP/MAMPはDockerを使わない場合の選択肢で、PHP編からの継続で馴染みやすい
- 学習目的でまず動かしたいならXAMPP継続、チーム開発を見据えるならSailへの切り替えがおすすめ
- XAMPPとSailを併用する際は、MySQLのポート競合に注意する
次に読むべき記事
環境が整ったら、次はLaravelのプロジェクトの中身を見ていきましょう。
「どのフォルダに何が入っているのか」を理解しておくと、この先の学習がぐっとスムーズになります。
→ 次の記事:Laravelのディレクトリ構造を理解する