「XAMPP は設定ファイルが散らばってて管理が面倒…」 「Docker は重いし、ちょっとした検証には大げさすぎる…」 「PHPビルトインサーバー(php -S)は手軽だけど、.htaccess が効かない…」
WindowsでのPHPローカル開発環境選び、悩みますよね。 私も長年 XAMPP を使い、最近は Docker や PHPビルトインサーバー を併用していましたが、最終的に 「Laragon」 というツールに辿り着きました。
結論から言うと、Laragon は「軽さ」「高機能」「手軽さ」のバランスが最強 です。
今回は、XAMPPやビルトインサーバーを経て Laragon に行き着いた経緯と、実際に導入してハマった「実務ならではのトラブル」解決法をシェアします。
Laragon とは? 2026年の最適解
Laragon(ララゴン)は、Windows専用のモダンなローカル開発環境です。 かつての定番「XAMPP」と同じく、Apache/Nginx、MySQL、PHP がセットになっていますが、その設計思想は全く異なります。
【Laragonの基本スペック】
- 公式サイト: https://laragon.org/
- 対応OS: Windows (64bit / 32bit)
- Webサーバー: Apache / Nginx (切り替え可能)
- DB: MySQL / MariaDB / PostgreSQL など
- 特徴:
- 爆速: サービスとして常駐せず、必要な時だけ起動するため動作が軽い。
- ポータブル: フォルダごとUSBメモリに入れて持ち運べる(レジストリを汚さない)。
- Pretty URLs:
myprojectというフォルダを作るだけでhttp://myproject.testでアクセス可能。 - PHPバージョン切り替え: UI操作だけで瞬時にバージョン変更可能。
XAMPP、Docker、Herd との比較
私が実際に使ってみて感じた「使い分け」のイメージはこんな感じです。
| ツール | 向いている用途 | 私の評価 |
|---|---|---|
| PHPビルトインサーバー | 単発検証 / OAuth / APIテスト | 神。圧倒的に速い。設定不要。 |
| Laragon | WordPress / 複数案件 / 汎用開発 | 現実解。XAMPPの上位互換。 |
| Laravel Herd | Laravel専用開発 | Laravelしかやらないなら最高。 |
| Docker | チーム開発 / 本番環境の完全再現 | 必須だが、個人検証には重い。 |
| XAMPP | 学習用 / 古い環境の再現 | 卒業しましょう。 |
私が Laragon に移行したストーリー
Phase 1: 「php -S(ビルトインサーバー)」が神だった
もともと、XAMPP の「VirtualHost 設定が面倒」「環境が壊れると復旧が大変」という点に不満を持っていました。 そんな時、Gmail OAuth2.0 のテストで PHPビルトインサーバー を使ってみて感動しました。
php -S localhost:8000
これだけでサーバーが立ち上がり、OAuth のコールバック検証も一瞬。 「もう全部これでいいじゃん」と一瞬思いました。
Phase 2: しかし「実務」の壁にぶつかる
しかし、実務レベルの案件(WordPress、独自フレームワーク、.htaccess多様)になると限界が来ます。
- .htaccess が効かない: Rewrite ルールが必要なCMSが動かない。
- 複数サイトの同時進行: ポート番号(:8000, :8001...)で管理するのが限界。
- 本番に近いURL:
localhostではなくclient-name.testのようなドメインで検証したい。
ここで、「軽さ(php -S)」と「高機能(Apache)」の間を埋めるツールを探し、Laragon に出会いました。
Laragon のここが最高だった
1. プロジェクト作成=URL発行
Laragon のルートフォルダ(C:\laragon\www)に my-app というフォルダを作って「Reload」ボタンを押すだけ。
これだけで、http://my-app.test というURLが自動生成 されます。
hosts ファイルの編集も、Apache の VirtualHost 設定も、全部 Laragon が裏で勝手にやってくれます。これが本当に快適。
2. PHPバージョンの切り替えが一瞬
「古い案件は PHP 7.4、新規は PHP 8.3」みたいな状況でも、タスクトレイのメニューからクリック一つで切り替えられます。XAMPPのようにフォルダ名を書き換えたりする必要はありません。
【実録】導入でハマったポイントと解決策
「よし、Laragon 最高!」と思った矢先、いくつかトラブルに遭遇しました。 検索しても意外と出てこない、実務ならではのハマりポイントを共有します。
事件①:ターミナルで php コマンドが消えた
Laragon をインストールし、ターミナルで php -v を叩くと、無慈悲なエラーが。
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
【原因】 Laragon は環境を汚さない設計のため、デフォルトでは Windows のシステム環境変数(PATH)に PHP を追加しません。 XAMPP をアンインストールした際に、以前の PATH 設定が消えてしまっていたのです。
【解決策】 Laragon の設定で一発でした。
- Laragon の UI を開く。
- Menu > Tools > Path > Add Laragon to Path を選択。
- ターミナル(PowerShell等)を再起動。
これで php -v が Laragon 内の PHP を参照するようになります。
事件②:Apache が起動しない(80番ポート問題)
「Start All」を押しても、Apache だけ起動しない。エラーログを見ると、ポート関連のエラーっぽい。 コマンドで犯人を探します。
netstat -ano | find ":80"
【原因】
私の環境では、Skype や IIS ではなく、意外な何かが 80 番ポートを占有していました(ログでは 0.0.0.0:80 が LISTEN 状態)。
Laragon はデフォルトで 80 番を使おうとするため、ここで衝突(コンフリクト)が起きます。
【解決策】 競合プロセスを特定して止めるのも手ですが、面倒なので Laragon 側のポートを変えるのが早いです。
- Preferences (歯車アイコン) > Services & Ports
- Apache の Port を
80から8080などに変更。
※ただし、ポートを変えるとURLが http://my-app.test:8080 になり、Pretty URLs の恩恵が薄れるので、可能なら競合プロセス(World Wide Web Publishing Service など)を止める方がスマートです。
事件③:独自ドメイン風URLのDNS解決
ある案件で sample.com.test のような、本番サブドメインに似せた長いローカルURLを使っていました。
ブラウザでは表示できるのに、ターミナルで ping や nslookup を打つと「見つかりません」になります。
【理由】
Laragon は Windows の hosts ファイルを編集してドメイン解決をしています。
ブラウザは hosts を見ますが、一部のネットワークツールや WSL2 側からのアクセスなどでは、うまく解決できない場合があります。
【解決策】 これは「仕様」として割り切りました。ブラウザで見えていれば開発に支障はありません。 「nslookup で引けないのにブラウザで見えるのは hosts のおかげ」という基本を再認識する良い機会になりました。
まとめ:ローカル開発も「適材適所」で
結論として、私の現在のローカル開発環境の使い分けはこうなりました。
- Laragon: メイン機。WordPress、静的サイト、一般的な PHP 開発は全部これ。
- Docker: チーム開発、環境差異にシビアなプロジェクト。
- php -S: ちょっとしたスクリプトの動作確認、OAuth テスト。
Windows ユーザーで「XAMPP が重い」「設定が面倒」と感じている方は、ぜひ Laragon を試してみてください。 移行コストもほとんどなく、導入したその日から開発効率が上がること間違いなしです。
