WindowsでPHPの開発環境を構築する方法はいくつかありますが、今回はWSL(Windows Subsystem for Linux)という機能を使用します。
全体の手順は以下の通りです。
環境構築にあたり、前提条件として以下の環境が必要です。
まずは、WSL機能を有効化します。
Windowsのメニューにある検索ボックスに「powershell」と入力すると、Windows Poershellアプリが表示されるので、「管理者として実行する」をクリックします。
※右クリックから管理者として実行でも大丈夫です。
Powershellが起動するので、以下のコマンドを入力します。
※この教材のコマンドは原則コピペするようにしてください。1文字のミスで原因追求に膨大な時間を浪費することになります。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
実行するとWSLが有効になります。
実行後に「この操作を完了するために、今すぐコンピューターを再起動しますか?」と表示されますので「Y」もしくは「Yes」と入力して、再起動を行ってください。
※既に有効な場合は再起動は起きないのでそのまま進めて下さい。
PCを再起動後にWSLが有効になったか確認してみましょう。
再度上記の操作でpowershellを起動したら、以下のコマンドを実行して「State」という項目が「Enabled」になっていれば有効化完了です。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
WSLを有効化したら、実際に動作させるLinux系OSであるUbuntuをインストールします。
Windowsのメニューにある検索ボックスに「microsoft store」と入力すると、Microsoft Storeアプリが表示されるのでクリックし、起動させます。
Microsoft Storeが起動したら、検索窓に「linux」と入力してください。
そうするといくつかWSLで利用できるアプリが表示されます。
今回は「Ubuntu 20.04 LTS」を利用しますのでクリックします。
※もし見つからない場合は「Ubuntu 18.04 LTS」または「Ubuntu」を使用しましょう。
「Ubuntu 20.04 LTS」をクリックすると詳細ページに遷移するので「インストール」ボタンをクリックしてインストールしましょう。
インストールが完了すると「インストール」ボタンが「起動」ボタンに変わるのでクリックして起動しましょう。
「Ubuntu 20.04 LTS」をインストールして、起動したら初期設定をしていきましょう。
暫く「Installing, this may take a few minutes...」と表示されるので待ちます。
「Ubuntu 20.04 LTS」をインストールして、起動したら初期設定をしていきましょう。
暫く「Installing, this may take a few minutes...」と表示されるので待ちます。
Enter new UNIX username: rod # ← 任意のユーザー名を入力
Enter new UNIX password: # ← 任意のパスワードを入力
Retype new UNIX password: # ← パスワードを再度入力
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
インストールしたらUbuntuを最新版にします。
以下のコマンドを実行してパッケージを最新に更新します。
(apt
はUbuntuで使うパッケージマネージャー、sudo
は管理者(root)権限を利用するコマンドです。)
sudo apt update -y && sudo apt dist-upgrade -y
sudo
コマンドを実行しようとするとroot権限のパスワードを求められるので、最初に設定したパスワードを入力します。
次に日本語の設定にしておくと扱いやすいので日本語設定をしておきましょう。
以下のコマンドでタイムゾーン(時刻設定)を変更します。
実行すると設定画面が現れてゾーンの設定ができますので 「Asia → Tokyo」と選択しましょう。
sudo dpkg-reconfigure tzdata
次に以下のコマンドを実行し、言語設定を行います。
sudo apt install locales
sudo apt install -y language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8
最後に以下のコマンドを実行し、man(マニュアル)も日本語版を入れておきます。
sudo apt install -y man manpages-ja manpages-ja-dev
これでWSLの初期設定は完了です。
WSLはWindows上で動作しているので、WSL上のファイルはWindowsからも操作することができます。
まずはWSL上で今自分がどのディレクトリにいるのかを確認してみましょう。
pwd
上記のコマンドを打つと/home/{ユーザー名}
と表示されます。
そして、今度はWindowsメニューからフォルダのアイコンをクリックすると「エクスプローラー」が開きます。
エクスプローラーは普段ファイルとかを探している画面です。
ここの上の窓に\\wsl$
と入力してEnterボタンを押してください。
そうすると「Ubuntu 20.04 LTS」というフォルダが見えていると思いますが、これがWSLのフォルダです。
そこから、さきほどpwdコマンドで調べたパスに移動してみましょう。
\\wsl$\Ubuntu-20.04\home\{ユーザー名}
と進んでみてください。
ここが先ほどWSLの中でいた場所になります。
では、以下のコマンドを実行し本当にそうなのかを確認してみましょう。
touch test.txt
そして、lsコマンドでファイルがあるかを見てみましょう。
ls
そうすると、test.txt
というのが表示されると思います。
今度はWindowsのエクスプローラーで見てみましょう。
画面を更新するために更新ボタンを押すと、test.txt
が表示されたと思います。
※画像の場合のユーザー名はrod
です
今度はWindowsのエクスプローラーでtest.txt
を削除してみましょう。
text.txt
を右クリックで削除するとエクスプローラーからtext.txt
が消えます。
そして、WSLでls
コマンドを実行するとtext.txt
が表示されなくなります。
これでWSL上のファイルがWindowsでも操作できることがわかりました。
このフォルダは今後作業を進める上で頻繁に使用するのでショートカットを作成しておきます。
このフォルダの左上にあるフォルダのアイコンをそのままデスクトップにドラック&ドロップしてください。
これでいつでもこのフォルダに移動できるようになりました。
最後に、WSLのUbuntuを終了する方法と、起動する方法です。
WSLの環境を終了する時は以下の終了コマンドを実行してください。
exit
WSLの環境を起動したい場合は、Windowsのメニューにある検索ボックスに「ubuntu」と入力すると、「Ubuntu 20.04 LTS」アプリが表示されるのでクリックするとWSL環境が起動します。
Macで標準的に使用されるパッケージマネージャーのHomebrewをインストールします。
HomebrewをインストールすることでMacユーザーとほぼ同じ環境で作業を進めることが出来るようになります。
インストールは以下の公式の手順に沿っていきます。
https://docs.brew.sh/Homebrew-on-Linux
まずは以下のコマンドを実行してください。
sudo apt-get update && sudo apt upgrade
次に、以下コマンドでHomebrewをインストールするために必要なパッケージをインストールします。
sudo apt-get install -y build-essential curl file git
これでgitも使えるようになります。
次にHomebrew自体をインストールをします。(sudo
は不要)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
途中でEnterを押すことを求められるので押します。
インストールが終わったらHomebrewのコマンド(brew
)を利用できるように「PATHを通す」という作業を行います。
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
ただし、このままだとWSLを再起動すると設定が消えてしまうので/.profile
ファイルに設定を追記します。
echo "eval $($(brew --prefix)/bin/brew shellenv)" >>~/.profile
echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/linuxbrew/.linuxbrew/lib"' >> ~/.profile
source ~/.profile
これで、設定完了です。
試しにbrewを使用してパッケージをインストールしてみましょう。
slコマンドという、lsのタイポジョークコマンドをインストールしてみます。
brew install sl
インストールが成功したら、以下のコマンドを実行してみて下さい。
SLが画面を駆け抜けたら成功です。
sl
それではPHPをインストールします。
実行するとインストールするか確認されますのでy
と入力してください。
sudo apt install php7.4
バージョン確認をして以下のように表示されればきちんとインストールできています。
PHP 7.4.3 (cli) (built: Jul 5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Windowsのメニューから「Ubuntu 20.04 LTS」アプリを選択することでWSL環境のターミナルが起動しますが、VSCodeでWSL環境のターミナルを使用したい場合が出てくると思いますのでVSCodeでWSL環境のターミナルを使えるように設定します。
VScodeのインストールがまだの場合はインストールします。
この際、VScodeは必ずWindows側(\\wsl$
から始まらないディレクトリ)にインストールしてください。
次にRemote Development
のためのVScode拡張機能を追加します。
まずはインストールしたVScordを立ち上げてください。
Cont + Shift + X
で拡張機能を表示し、「Marketplace で拡張機能を検索する」というテキストボックスに「Remote Development」と入力してください。
検索結果に「Remote Development」の拡張機能が表示されていますと思いますので、installボタンを押してインストールしてください。
インストールが終了したら、VScodeに設定を反映させるため、VScodeを一度閉じてください。
WSL環境からからVScodeを起動します。
Windowsのメニューから「Ubuntu 20.04 LTS」アプリを選択し、WSL環境が起動してください。
その後以下のコマンドを実行してください。
cd
code .
code .
を実行すると初回のインストール時はVScodeが開くまで暫く時間がかかりますがVScodeが開きます。
VScodeが開いたら、左下にWSL: <ディストリビューション名(例:Ubuntu 20.04)>
という表示が出ていることを確認してください。
表示ができていれば接続成功です。
以後、左下にWSL: <ディストリビューション名>
が表示されている状態で、Cont + Shift + @
を入力するとWSL環境のターミナルが使用できます。
ここまでの設定を行うとWSL環境からコマンドでVScodeを起動することが不要になります。
F1キーを押してRemote-WSL: New Window using Distroを選択して、使いたいディストリビューションを選びます。
すると左下にWSL: <ディストリビューション名>
が表示された新しいウィンドウが開きますので、Cont + Shift + @
を入力すると、WSL環境のターミナルが使用できます。
以上でWindowsでPHPの実行環境を構築する手順の説明は終わりです。
お疲れ様でした!