第08回: WSL2でPHP環境をつくる — WindowsでLinux開発体験を実現する

章: 第5章: より本格的な環境

対象OS: Windows 専用

「Windowsだと本番と違う」—— その問題を根本から解消する

多くのサーバーはLinuxで動いています。WindowsのXAMPPはWindowsネイティブで動くため、パスの区切り文字や改行コード、パーミッションの扱いが本番環境と微妙に異なります。チームにMacユーザーが混在しているとさらに差が生じやすくなります。

WSL2(Windows Subsystem for Linux 2)を使えば、Windows上でLinux環境を動かせます。 DockerもLinuxの上で動くため、WSL2はDocker学習の前段階としても有効です。

WSL2とは

WSL2はWindows 10/11に組み込まれたLinux互換レイヤーです。仮想マシンとは異なり、Linuxカーネルが直接動作するため、パフォーマンスが高くWindowsとのファイル共有も自然にできます。

項目 内容
必要なOS Windows 10 バージョン2004以降、またはWindows 11
推奨ディストリビューション Ubuntu 22.04 LTS
インストール方法 PowerShellからコマンド1つ

WSL2のインストール

PowerShellを管理者として実行して、次のコマンドを入力します:


wsl --install

このコマンドで:

  • WSL2機能が有効化される
  • Ubuntu(最新LTS)が自動的にインストールされる

完了後、PCを再起動します。

再起動後、Ubuntuが起動してユーザー名とパスワードの設定を求められます。任意のユーザー名とパスワードを入力してください(このパスワードはUbuntu内でのsudoコマンドに使います)。

確認コマンド:

`powershell

wsl –list –verbose

`

STATERunning または Stopped と表示されれば正常です。

Ubuntu上にPHPをインストールする

WSL2のUbuntuターミナルを開いて、以下を実行します:


# パッケージリストを更新
sudo apt update && sudo apt upgrade -y

# PHPと必要なモジュールをインストール
sudo apt install -y php php-cli php-mbstring php-xml php-curl php-mysql php-zip

# バージョン確認
php -v

PHP 8.x.x と表示されれば完了です。

Composerのインストール


# 必要なパッケージ
sudo apt install -y curl

# Composerをインストール
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

# 確認
composer --version

PHPビルトインサーバーで動作確認


# プロジェクトフォルダを作成
mkdir ~/myproject && cd ~/myproject

# テストファイルを作成
echo '<?php echo "Hello from WSL2!"; ?>' > index.php

# ビルトインサーバーを起動
php -S localhost:8000

Windowsのブラウザで http://localhost:8000/ にアクセスすると、WSL2上のPHPが応答します。

チェックポイント: WSL2内のlocalhostはWindowsのブラウザから直接アクセスできます。ファイアウォールの設定なしに http://localhost でつながります。

VS CodeとWSL2を連携させる

VS CodeにはWSL2専用の拡張機能があります。

1. VS Codeで拡張機能「WSL」(ID: ms-vscode-remote.remote-wsl)をインストール

2. WSL2のターミナルでプロジェクトフォルダに移動して:

`bash

code .

`

3. VS CodeがWSL2モードで起動し、Linux側のファイルをWindowsのUIで編集できる

この状態で拡張機能(PHP Intelephense、PHP Debugなど)はWSL2側にインストールされ、Linuxのパスで動作します。

ファイルシステムの注意点

WSL2にはファイルシステムの境界があります。

パス 説明
~/ または /home/ユーザー名/ Linux側のファイルシステム(高速・推奨
/mnt/c/ WindowsのCドライブへのマウント(低速)

プロジェクトファイルはLinux側(~/)に置くのが原則です。 /mnt/c/ 以下に置くとファイルアクセスが遅くなります。

まとめ & 次のステップ

  • WSL2はWindows上でLinuxを動かす機能で、wsl --install で導入できる
  • Ubuntu上にPHPとComposerをインストールすれば、Macとほぼ同じ操作感になる
  • VS Codeの「WSL」拡張でWindows UIのままLinux側のファイルを編集できる
  • ファイルはLinux側(~/)に置くことでパフォーマンスが維持される

次回はWindowsとMac共通で使える「DockerでPHP環境をつくる」を解説します。チーム開発に耐えうる再現性の高い環境をコードで定義する方法です。

Related Articles