XAMPPで複数バージョンのPHPを切り替えてApache + MySQL を使う方法 on Windows
目標
XAMPPでPHP7.4.xとPHP5.6.xを切り替えてApacheとMySQL、phpMyAdminを使えるようにする
前提
PHP
のバージョンが新しい方、もしくは古い方のどちらかでApache
とMySQL
を稼働できていること
作業
バージョンの異なるXAMPPファイルの入手
ここから欲しいバージョンのPHPが含まれているXAMPP
のzip
ファイルをダウンロードする。
PHP
単体でなく、XAMPP
全体をダウンロードするのはApache
やphpMyAdmin
がそれぞれのPHPバージョンに対応した設定になっているから。
今回の方法ではPHP
のバージョンを切り替えた際、Apache
とphpMyAdmin
のファイルや設定もそれに対応したものにする。
特定のファイルを変更するわけじゃないため作業自体や変更自体は少ないが、少し容量に余裕が必要なことに注意。
名前の変更
新しいバージョン、または古いバージョンが含まれたXAMPP
のzip
ファイルをダウンロードできたら、解凍し、以下の3つのフォルダをデスクトップなどにコピー。
- apache
- phpMyAdmin
- php
そして名前を(ファイル名) (phpのメジャーバージョン).(phpのマイナーバージョン)
に変更する。
もし、PHP5.6.x
をダウンロードした場合、コピーしたフォルダは次の名前になる。
- apache5.6
- phpMyAdmin5.6
- php5.6
名前を変更したら、それらをコピーし、現在のxampp
フォルダに貼り付ける。
その後、xampp
内のapache
,phpMyAdmin
,php
を貼り付けたのファイル達と同じ方法で名前を変更する。
既存のPHP
バージョンが7.4.x
だったら次のようになる。
- apache7.4
- phpMyAdmin7.4
- php7.4
config.inc.phpの移動
今まで使っていたバージョンのphpMyAdmin
フォルダからconfig.inc.php
を新しく用意したバージョンのphpMyAdmin
にコピーして貼り付ける。
そうすることで、PHP
のバージョンが違っても今までと同じようにphpMyAdmin
が使えるようになる。
新しく用意したバージョンのphpMyAdmin
のconfig.inc.php
はconfig.origin.inc.php
などに名前を変えて残しておくと良いかもしれない。
シンボリックリンクの作成
シンボリックリンクとはショートカットのようなもの。
php7.4
からphp
というシンボリックリンクを作成したら、システムや他のファイルはphp
というシンボリックリンクを参照して、それに指定されたphp7.4
がその中身となる。
正直、使うたびにphp7.4
をphp
に変更するような作業をすればいいが、手間なのでシンボリックリンクを作成する。
今回はPHP
のバージョンが5.6
のシンボリックリンクを作成する。
シンボリックリンクはコマンドプロントを開いて、それぞれ次のコマンドで実行できる。
$ mklink /D c:\xampp\apache C:\xampp\apache5.6
$ mklink /D c:\xampp\phpMyAdmin C:\xampp\phpMyAdmin5.6
$ mklink /D c:\xampp\php C:\xampp\php5.6
バッチファイル(スクリプト)の作成
「コマンドを毎回入力するよりも名前を毎回変えた方が楽じゃん」
それは否定しないが、コマンドの紹介をしたのは上記のコマンドを含めたバッチファイル(スクリプト)を作成すれば、もっと楽にできる。
ということで、下記のようなバッチファイル(スクリプト)を作成し、xampp
下などの使いやすいところに置く。
使い方はエクスプローラーから直接実行するか、コマンドプロントからchange_php.bat
を置いたところまで移動し、change_php.bat
を実行する。
@echo off
echo.
echo 使いたいPHPのバージョンを選択してください。
echo.
echo 現在のPHPバージョン:
echo.
php -v
echo.
echo 1: PHP 5.6
echo 2: PHP 7.4
echo C: Cancel
echo.
choice /c 12C /M "使いたいPHPのバージョン."
if %errorlevel% equ 1 goto PHP5_6
if %errorlevel% equ 2 goto PHP7_4
goto OnExit
:PHP5_6
rmdir C:\xampp\apache
mklink /D C:\xampp\apache C:\xampp\apache-5.6
rmdir C:\xampp\phpMyAdmin
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin-5.6
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php-5.6
goto OnExit
:PHP7_4
rmdir C:\xampp\apache
mklink /D C:\xampp\apache C:\xampp\apache-7.4
rmdir C:\xampp\phpMyAdmin
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin-7.4
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php-7.4
goto OnExit
:OnExit
コマンドプロントの文字コードがANSI
なので、名前を付けて保存する際にANSI
を指定しないと動作できなくなるので注意。
実際に動かすとこのようになる。
動作確認
xampp
フォルダのxampp-control.exe
を開き、Apache
とMySQL
のAdmin
ボタンをクリックし、新しく用意したバージョンのPHPInfo
で用意したバージョンのPHP
になっているのとphpMyAdmin
に接続できればOK。
参考資料
Author And Source
この問題について(XAMPPで複数バージョンのPHPを切り替えてApache + MySQL を使う方法 on Windows), 我々は、より多くの情報をここで見つけました https://qiita.com/kaitaku/items/e0ae54fc04d222ded5c9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .