XAMPPで複数のバージョンのPHPを切り替えて使う方法をご紹介いたします。
本番環境と合わせて、今回はPHP7.2で開発環境を構築したいなーといったケースに簡単に対応できるようになります。
XAMPPで複数のバージョンのPHPを切り替えて使う方法
ステップ1. 利用したいバージョンのPHPが収録されたXAMPPをダウンロード
使いたいバージョンが入ったXAMPPをこちらからダウンロードします。この時、インストーラではなくZIPの方をダウンロードしてください。
ステップ2. phpフォルダのリネーム
XAMPPがインストールされているフォルダ内にあるphpフォルダをリネームします。私の環境ではPHP7.4のXAMPPがインストールされていたので、フォルダ名を「php74」に変更しました。
加えて、ダウンロードしてきた別バージョンのXAMPP内のphpフォルダもわかりやすいようにリネームし、XAMPPがインストールされているフォルダに移動します。
今回は、PHP7.3とPHP7.2をダウンロードし。「php73」「php72」にリネームして追加しました。
ステップ3. PHPの設定ファイルをリネーム
「xampp\apache\conf\extra」フォルダ配下にあるhttpd-xampp.confをリネームします。
- xampp\apache\conf\extra\httpd-xampp.conf
「httpd-xampp74.conf」というファイル名に変更しました。
加えて、ダウンロードしてきたXAMPP内のhttpd-xampp.confもリネームして、xampp\apache\conf\extraフォルダ内に移動します。PHP7.3は「httpd-xampp73.conf」、PHP7.2は「httpd-xampp72.conf」にしました。
ステップ4. シンボリックリンクの作成
利用したいバージョンのPHPを参照するように、シンボリックリンクを作成します。
コマンドプロンプトを管理者として起動し、以下のコマンドを実行します。
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp72.conf
mklink /D C:\xampp\php C:\xampp\php72
上記の場合、PHP7.2に切り替わります。
PHPのバージョンが無事切り替わったか確認してみましょう。Apacheを起動して、Shellを開きます。
「php -v」を実行すると、PHPのバージョンが表示されます。
ステップ5. PHPのバージョンを再度切り替え
PHPのバージョンを7.2に切り替えましたが、今度はPHP7.3に切り替えてみます。
コマンドプロンプトを管理者として起動し、以下のコマンドを実行します。これで作成したシンボリックリンクが解除されます。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
rmdir C:\xampp\php
PHP7.2に切り替えた時と同じように、以下のコマンドでシンボリックリンクを作成します。
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp73.conf
mklink /D C:\xampp\php C:\xampp\php73
XAMPPのShellを起動して「php -v」を実行すると、PHP7.3に切り替わっていることを確認できます。
このようにシンボリックリンクを一旦解除して再作成することで、PHPのバージョンを切り替えることができます。
PHPのバージョンを切り替えるバッチファイルの作成
PHPのバージョンを切り替える度にコマンドを実行するのは面倒ですよね。そこで、バッチファイルを作成してサクッと切り替えられるようにします。
バッチファイルの作成方法については、こちらの記事を参考にさせていただきました。
以下の内容をphp_ver_chenge.batとして保存します。
@echo off
echo.
echo 1: PHP 7.4
echo 2: PHP 7.3
echo 3: PHP 7.2
echo C: Cancel
echo.
echo PHPのバージョンを変更する場合は1~3を選択してください。
choice /c 123C /M "Choose the version of PHP."
echo %errorlevel%
if %errorlevel% equ 1 goto PHP_74
if %errorlevel% equ 2 goto PHP_73
if %errorlevel% equ 3 goto PHP_72
goto OnExit
:PHP_74
echo php7.4に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp74.conf
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php74
goto OnExit
:PHP_73
echo php7.3に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp73.conf
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php73
goto OnExit
:PHP_72
echo php7.2に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp72.conf
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php72
goto OnExit
:OnExit
ファイルパスやPHPのバージョンは環境に合わせて変更してください。
php_ver_chenge.batを右クリックし[管理者として実行]します。すると、以下のようにコマンドプロンプトが起動してくるので、切り替えたいバージョンの数字を押します。
すぐにコマンドプロンプトは閉じてしまいますが、PHPのバージョンが切り替えられます。
バッチファイルは[管理者として実行]しないと、バージョンの切り替えに失敗してApacheが起動できなくなってしまうのでご注意ください。もし、管理者として実行せずにApacheが起動できなくなったら、再度php_ver_chenge.batを管理者として実行してください。
あとがき
PHPのバージョンを切り替えてXAMPPが使えると何かと便利ですね。
複数のPHPバージョンを使いたい場合は、ぜひ参考にしていただければと思います。