- PHP
-
2021-06-09 - 更新:2025-03-29
WindowsでXAMPPを使ってPHPの開発をしているとPHPの特定のバージョンで動作検証がしたい!ということがあると思います。
そんな時に手軽にPHPのバージョンを切り替えできる方法があったのでご紹介します。
※XAMPPはC:\xampp
にインストールされている条件での説明となります。
まずはSourceForgeにて公開されているXAMPPの過去のバージョンをダウンロードします。
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/
XAMPPのバージョン=PHPのバージョンなので、検証したいバージョンのXAMPPのZIP形式をダウンロードします。
ここでは例として7.4.19をダウンロードしたと仮定します。
ダウンロードしたら解凍しましょう。
前準備としてC:\xampp
にあるphp
フォルダーをリネームします。
PHPのバージョンに合わせてリネームしましょう。
PHPバージョンが8.0.6であればphp
をphp8.0.6
にリネームします。
次にC:\xampp\apache\conf\extra
にあるhttpd-xampp.conf
をhttpd-xampp.conf.8.0.6
にリネームします。
これで前準備は完了です。
次にダウンロードして解凍したxamppフォルダーにあるphp
フォルダーをphp7.4.19
にリネームし、C:\xampp
内に入れます。
そしてapache\conf\extra
にあるhttpd-xampp.conf
をhttpd-xampp.conf.7.4.19
にリネームし、C:\xampp\apache\conf\extra
内に入れます。
コマンドプロンプトを管理者として実行します。
C:\xampp
に移動し次のコマンドを実行します。
mklink /D php php7.4.19
C:\xampp\apache\conf\extra
に移動し次のコマンドを実行します。
mklink httpd-xampp.conf httpd-xampp.conf.7.4.19
こうすることでバージョンが付加されたフォルダーであってもシンボリックリンクでアクセスすることが出来るようになります。
別のバージョンに切り替えたいときはシンボリックリンクを作り直せばいいということになります。
PowerShellで実行する場合
コマンドプロンプトと同じく管理者としてPowerShellを実行します。
C:\xampp
に移動し次のコマンドを実行します。
New-Item -ItemType SymbolicLink -Path php -Target php7.4.19
C:\xampp\apache\conf\extra
に移動し次のコマンドを実行します。
New-Item -ItemType SymbolicLink -Path httpd-xampp.conf -Target httpd-xampp.conf.7.4.19
いちいちコマンド打つのが面倒だ・・・
頻繁にバージョンを変更して検証する場合など、いちいちコマンドを打って変更するのが面倒だという場合は、PowerShellのプロファイルに関数を設定してしまいましょう。
以下のコードをPowerShellのプロファイルに書き込みます。
function changePhpVersion($version) { if($null -eq $version) { echo "Please enter an argument. PHP VERSION" return } Set-Location \xampp Remove-Item -Recurse php New-Item -ItemType SymbolicLink -Path php -Target "php${version}" Set-Location apache\conf\extra Remove-Item httpd-xampp.conf New-Item -ItemType SymbolicLink -Path httpd-xampp.conf -Target "httpd-xampp.conf.${version}" }
上記を設定すると次回からバージョンを変更するときは次のようにコマンドを入力するだけで変更することができます。
changePhpVersion 7.4.19
