xamppで複数のバージョンのphpを切り替えて使いたい！！！

windows10上でphp7.1が入ってるxampp上でphp5.3を起動したかったので調べて実行したよ。
ついでに、5.5も起動できるようにした。



#xamppの各バージョンのDL

###7.1のDL
[ここ](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/)で欲しいXamppのバージョンを選ぶ

今回は7.1.8をチョイス
[https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.1.18/](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.1.18/)に飛ぶから
[xampp-win32-7.1.18-0-VC14.zip](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.1.18/xampp-win32-7.1.18-0-VC14.zip/download)をクリックしてDLする。

###5.5のDL
[xampp5.5.37](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.5.37/)の
[xampp-win32-5.5.37-0-VC11.zip](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.5.37/xampp-win32-5.5.37-0-VC11.zip/download)
をDLする。

###5.3のDL
[xampp1.7.7](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.7/)の
[xampp-win32-1.7.7-VC9.zip](https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.7/xampp-win32-1.7.7-VC9.zip/download)
をDLする。



#解答してディレクトリ作って配置する

さっきDLした7.1の`xampp-win32-7.1.18-0-VC14.zip`を解答して中身を
`C:\xampp`
にぶちまける

###複数Ver用にファイルとフォルダをリネーム
#####7.1のphpフォルダのリネーム
`C:\xampp\php`
を
`C:\xampp\php71`
にリネーム
#####7.1のhttpd-xampp.confファイルのリネーム
`C:\xampp\apache\conf\extra\httpd-xampp.conf`
を
`C:\xampp\apache\conf\extra\httpd-xampp.conf71`
にリネーム

####5.5の必要なファイルとフォルダだけ移動
先にDLしてるxampp-win32-5.5.37-0-VC11.zipを解凍する。

#####5.5のphpフォルダをリネームして移動
`解答フォルダ\xampp\php`
フォルダを
`解答フォルダ\xampp\php55`
にリネームして
`C:\xampp\php55`
に移動

#####5.5のhttpd-xampp.confファイルをリネームして移動
`解答フォルダ\xampp\apache\conf\extra\httpd-xampp.conf`
を
`解答フォルダ\xampp\apache\conf\extra\httpd-xampp.conf55`
にリネームして
`C:\xampp\apache\conf\extra\httpd-xampp.conf55`
に移動

####5.3の必要なファイルとフォルダだけ移動
先にDLしてるxampp-win32-1.7.7-VC9.zipを解凍する。

#####5.3のphpフォルダをリネームして移動
`解答フォルダ\xampp\php`
フォルダを
`解答フォルダ\xampp\php53`
にリネームして
`C:\xampp\php53`
に移動

#####5.3のhttpd-xampp.confファイルをリネームして移動
`解答フォルダ\xampp\apache\conf\extra\httpd-xampp.conf`
を
`解答フォルダ\xampp\apache\conf\extra\httpd-xampp.conf53`
にリネームして
`C:\xampp\apache\conf\extra\httpd-xampp.conf53`
に移動

#####5.3とApache2.4をつなぐdllをDL
**php5.3だけ起動しなかったので追記**

> エラーのキャプチャは取れなかったけど、
> 要はphp5.3用の`php5apache2_4.dll`が必要みたいです。

[Apache LoungeのAdditional & Goodies Downloads](https://www.apachelounge.com/download/additional/)
のページの中ほどに有る
[php5apache2_4.dll-php-5.3-win32.zip](https://www.apachelounge.com/download/win32/modules-2.4/php5apache2_4.dll-php-5.3-win32.zip)
をDLして解答し
`解答フォルダ\php5apache2_4.dll-php-5.3-win32\PHP 5.3.10\php5apache2_4.dll`
を
`C:\xampp\php53\php5apache2_4.dll`
に移動
>これ。5.3.10用のdllだけど動いたので良し!!


###7.1のシンボリックリンクを作る

コマンドプロンプトで

```
cd C:\xampp
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp.conf71
mklink /D C:\xampp\php C:\xampp\php71
```

を実行
とりあえず、7.1で起動するようにした。




#Xamppを起動できるようにする。


###環境変数を設定する。
`コンパネ　>　システム　>　設定の変更(システムのプロパティーを開く)　>　環境設定タブ　>　環境変数`
の
`システム環境変数　>　Path`
に

* C:\xampp\php
* C:\xampp\mysql\bin

を追加する。

###xamppが起動できるか確認する。
`C:\xampp\xampp_start.exe`
を実行してエラーが無いか確認する。
エラーが無かったら
`C:\xampp\xampp-control.exe`
を実行してapacheとmysqlを起動して動作するか確認後
phpinfoとphpmyadminを開いて正しく動作したらOK！


#phpのバージョンを切り替えるバッチを作る。

###やりたい事はこんな感じ

**php7.1から5.5に変更したい時**
1. php7.1のphpフォルダのシンボリックリンクを削除
2. php7.1の`httpd-xampp.conf`のシンボリックリンクを削除
3. php5.5のphpフォルダのシンボリックリンクを作成
4. php5.5の`httpd-xampp.conf`のシンボリックリンクを削除

これをBatファイルでどのバージョンに変更したいか選択し、バージョン変更できたらOKですよね？

###Batファイル

**ファイル名：`C:\xampp\php_ver_chenge.bat`**

```bat:php_ver_chenge.bat
@echo off
 
echo.
echo phpのバージョンを確認します。
echo.
php -v
echo.
echo 1: PHP 5.3.8
echo 2: PHP 5.5
echo 3: PHP 7.1
echo C: Cancel
echo.
echo 現在のバージョンを変更する場合は1～3を選択してください。
 
choice /c 123C /M "Choose the version of PHP."
echo %errorlevel%
if %errorlevel% equ 1 goto PHP_53
if %errorlevel% equ 2 goto PHP_55
if %errorlevel% equ 3 goto PHP_71
goto OnExit
 
:PHP_53
echo php5.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-xampp.conf53
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php53
goto OnExit

:PHP_55
echo php5.5に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp.conf55
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php55
goto OnExit

:PHP_71
echo php7.1に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp.conf71
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php71
goto OnExit


:OnExit

```

###実行すると

作ったBatファイルを実行すると以下のような画面が表示される。

説明
![03.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/2d67b89b-8456-aa5f-0571-11c826d42f52.jpeg)


で今回はphp7.1の3にしたかったので、キーボードの3をクリックすると
下の図のようになる。

![02.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/74d52aa3-f5d2-990e-abbd-07ff5ad8f093.jpeg)

うまくいったので、
なんかキーボードのキーをクリックするとコマンドラインが消える。

###phpのVerの確認

`C:\xampp\xampp-control.exe`を実行する

![04.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/64d0c995-6ede-1fd1-4eb3-a02358c7a356.jpeg)


apacheを起動する

![05.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/57decbe8-7bcc-2f3d-10fc-cede76236b82.jpeg)

apacheが起動できたら、apacheの`Admin`をクリック

![06.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/e991e0f3-b678-bf0f-e388-5990afd1aeaf.jpeg)


クリックするとブラウザが立ち上がってURLは`http://localhost/dashboard/`になってるはず
この画面の右上`PHPInfo`をクリックする

![07.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/127c2482-7f63-0f0a-4406-668f17874fd7.jpeg)

`PHPInfo`をクリックすると
[http://localhost/dashboard/phpinfo.php](http://localhost/dashboard/phpinfo.php)に遷移してる
下の画像の所でphpのバージョンを確認できる

![08.jpg](https://qiita-image-store.s3.amazonaws.com/0/57329/6957ca1d-da6a-3e00-100c-9d52e4ba0a40.jpeg)