働く 2026-01-22

【脱XAMPP】LaragonがWindowsローカル開発の最適解だった話(2026年版)

「XAMPP は設定ファイルが散らばってて管理が面倒…」 「Docker は重いし、ちょっとした検証には大げさすぎる…」 「PHPビルトインサーバー(php -S)は手軽だけど、.htaccess が効かない…」

WindowsでのPHPローカル開発環境選び、悩みますよね。 私も長年 XAMPP を使い、最近は DockerPHPビルトインサーバー を併用していましたが、最終的に 「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 の設定で一発でした。

  1. Laragon の UI を開く。
  2. Menu > Tools > Path > Add Laragon to Path を選択。
  3. ターミナル(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 側のポートを変えるのが早いです。

  1. Preferences (歯車アイコン) > Services & Ports
  2. Apache の Port を 80 から 8080 などに変更。

※ただし、ポートを変えるとURLが http://my-app.test:8080 になり、Pretty URLs の恩恵が薄れるので、可能なら競合プロセス(World Wide Web Publishing Service など)を止める方がスマートです。

事件③:独自ドメイン風URLのDNS解決

ある案件で sample.com.test のような、本番サブドメインに似せた長いローカルURLを使っていました。

ブラウザでは表示できるのに、ターミナルで pingnslookup を打つと「見つかりません」になります。

【理由】 Laragon は Windows の hosts ファイルを編集してドメイン解決をしています。 ブラウザは hosts を見ますが、一部のネットワークツールや WSL2 側からのアクセスなどでは、うまく解決できない場合があります。

【解決策】 これは「仕様」として割り切りました。ブラウザで見えていれば開発に支障はありません。 「nslookup で引けないのにブラウザで見えるのは hosts のおかげ」という基本を再認識する良い機会になりました。

まとめ:ローカル開発も「適材適所」で

結論として、私の現在のローカル開発環境の使い分けはこうなりました。

  1. Laragon: メイン機。WordPress、静的サイト、一般的な PHP 開発は全部これ。
  2. Docker: チーム開発、環境差異にシビアなプロジェクト。
  3. php -S: ちょっとしたスクリプトの動作確認、OAuth テスト。

Windows ユーザーで「XAMPP が重い」「設定が面倒」と感じている方は、ぜひ Laragon を試してみてください。 移行コストもほとんどなく、導入したその日から開発効率が上がること間違いなしです。

LaragonとXAMPPの比較イメージ