みなさん、お疲れさまです。
今回は、1つのXAMPPでPHPのバージョン切替する方法についてを書きたいと思います。
開発環境によっては、PHPのバージョンを今あるものと異なるものを使用したいときがあると思います。
私自身もつい最近、その作業が必要になったのでやった手順をまとめます。
1.XAMPPをインストール
使いたいPHPのバージョンが入ったXAMPPを下記のサイトからインストールします。
※zipをダウンロードします。
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/
ダウンロードしたzipファイルは、解凍してデスクトップなど自分がわかりやすいところに保存しておきます。
2.PHPフォルダと設定ファイルの名前を変更
■PHPフォルダの名前を任意の名前に設定
●現在のPHPバージョン(例:7.4.22)
《C:\xampp\php》
↓
《 C:\xampp\php74》
●新しくインストールしたPHPバージョン(例:8.0.9)
《C:\xampp\php》
↓
《C:\xampp\php80》
■設定ファイル(httpd-xampp.conf)の名前を任意の名前に設定
●現在のPHPバージョン(例:7.4.22)
《C:\xampp\apache\conf\extra\httpd-xampp.conf》
↓
《C:\xampp\apache\conf\extra\httpd-xampp74.conf》
●新しくインストールしたPHPバージョン(例:8.0.9)
《C:\xampp\apache\conf\extra\httpd-xampp.conf》
↓
《C:\xampp\apache\conf\extra\httpd-xampp80.conf》
3.新しくインストールしたPHPバージョンのフォルダとファイルを移動
先ほど名前変更したPHPフォルダとファイル(httpd-xampp80.conf)を移動させます。
それぞれ以下に保存してください。
■PHPフォルダ
【C:\xampp】
■ファイル (httpd-xampp80.conf)
【C:\xampp\apache\conf\extra】
4.シンボリックリンクを作成
先ほど名前変更したフォルダとファイルにシンボリックリンクをかけます。
管理者権限でコマンドプロンプトを開きます。
《起動方法》
1. Windowsキー + R
2. 『cmd』と入力
3. Ctrlキー + Shiftキー + Enterキー
4. ユーザー制御のウィンドウ→『はい』を選択
コマンドプロンプトが開いたら、以下のコマンドを入力してください。
まず、 httpd-xampp.confをシンボリックリンクにかけます。
■ファイル
mklink リンク名 ターゲット
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp80.conf
次にPHPフォルダをシンボリックリンクをかけます。
■PHPフォルダ
mklink /D リンク名 ターゲット
mklink C:\xampp\php C:\xampp\php80
※PHPフォルダはディレクトリなので、『/D』を忘れないようにしてください。
(これを忘れて切り替えができず、無駄な時間をかけました、、)
それぞれ『○○のシンボリックリンクが作成されました』と表示されたら完了です。
5.バージョン確認
XAMPPのコントロールパネルから『shell』を起動してPHPのバージョンを確認します。
php -v
ここでエラーが出た場合、多いのが『php.init』ファイルの設定です。
下記のコードの最初に『; (セミコロン)』がついていた場合、それを外します。
;extension=intl
↓
extension=intl
6.バージョンの切り替え
httpd-xampp.confとPHPフォルダを削除します。
# httpd-xampp.confを削除
del C:\xampp\apache\conf\extra\httpd-xampp.conf
#PHPフォルダを削除
rmdir C:\xampp\php
※ここもファイルとフォルダでコマンドが異なるので注意してください。
再度、指定したバージョンのファイルとフォルダに対してシンボリックリンクをかけます。
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp74.conf
mklink C:\xampp\php C:\xampp\php74
再度、PHPのバージョンを確認して指定したバージョンに変更されていたらOKです。