XAMPPで複数のPHPバージョンを切り替えて使う方法【非推奨方式】

当ページのリンクには広告が含まれています。

XAMPPで複数のPHPバージョンを切り替えて使う方法方法には、以下の2種類があります。

  1. XAMPPポータブル版を使用する方法【推奨】
  2. シンボリックリンクを使用して、PHPを切り替える方法【非推奨】← この記事で解説

この記事で解説している方法は、『シンボリックリンクを使用して、PHPを切り替える方法【非推奨】』です。

この記事の実行環境
  • Windows11 Home (23H2)
  • XAMPP 8.2.4
  • XAMPP 7.4.33(PHPのみ抜き出し)
目次

非推奨である理由

シンボリックリンクを使用してPHPを切り替える方法が、なぜ非推奨なのか。その理由には次の2つがあります。

  1. 正常に動作しないPHPの処理があった。
  2. 切り替え手順が面倒くさい。

これらの理由について、簡単に説明します。

正常に動作しないPHPの処理があった

開発業務で実際にトラブルを経験しました。具体的には「cURL」の処理が正常に実行されませんでした。

正確な原因は不明ですが、おそらく「cURL」の処理はPHPだけで完結しておらず、XAMPPの他の処理に依存している部分があるからなのではないか、と推測しています。

シンボリックリンクの切り替えでPHPのバージョンを切り替える方式は、確かにPHPのバージョンは切り替わっているのですが、XAMPP本体などPHP以外のモジュールは最初にインストールしたバージョン用なのですから、細かい不整合があるのではないか、と思います。

もしかしたら、適切なモジュールを追加する等の対処によって解決した問題かもしれません。しかし『XAMPPポータブル版を使用する方法【推奨】』であれば、そのような対処は不要ですし、何よりPHPのバージョン切り替え手順が簡素です。

切り替え手順が面倒くさい

詳しい手順は後ほど記載しますが、「現在のシンボリックリンクを削除し、希望するバージョンに向けたシンボリックリンクを作成する」という、ちょっと面倒くさい手順で切替を実施する必要があります。

シンボリックリンク方式による、PHPのバージョン切り替えの準備

インストール済のXAMPPのPHPのバージョンは「8.2.4」とします。

インストール済のXAMPPのPHPのバージョンは「8.2.4」
インストール済のXAMPPのPHPのバージョンは「8.2.4」

現状、PHPがインストールされているフォルダは「c:¥xampp¥php」です。

PHPがインストールされているフォルダは「c:¥xampp¥php」
PHPがインストールされているフォルダは「c:¥xampp¥php」

現在のPHPのフォルダ名を変更

これから複数のバージョンのPHPをインストールしていくにあたり、「php」というフォルダ名だとバージョンが分からなくなってしまいますので、このフォルダ名を「php824」に変更します。

フォルダ名を「php824」に変更
フォルダ名を「php824」に変更

設定ファイル名の変更

XAMPPが使用しているPHP設定ファイル「C:¥xampp¥apache¥conf¥extra¥httpd-xampp.conf」は、現在のPHPバージョン用です。

XAMPPが使用しているPHP設定ファイルは、現在のPHPバージョン用
XAMPPが使用しているPHP設定ファイルは、現在のPHPバージョン用

そのため、ファイル名を「httpd-xampp824.conf」に変更します。

ファイル名を「httpd-xampp824.conf」に変更
ファイル名を「httpd-xampp824.conf」に変更

シンボリックリンクの作成

フォルダ名変更とファイル名変更を行ったところで、「XAMPP Control Panel」から「Apache」を起動してみます。すると、以下のようなエラーになり、Apacheの起動に失敗しました。

Apacheの起動に失敗
Apacheの起動に失敗

起動に失敗したのは当然で、Apacheが参照しているPHPのフォルダ名や設定ファイル名を変更したわけですから、参照できなくなってしまってエラーになっているわけです。これを解決するために「シンボリックリンク」を作成します。

シンボリックリンクとは

シンボリックリンクは、フォルダやファイル名の「読み替え機能」のようなものです。

XAMPPのApacheには、『PHPの場所は「c:¥xampp¥php」』と設定されているのですが、それを「c:¥xampp¥php824」とリネームしたものですから、Apacheから見るとPHPが参照できなくなってエラーになってしまったわけです。

シンボリックリンクを作成すると、「c:¥xampp¥php」という元の設定は「c:¥xampp¥php824」に読み替えられて、参照されます。

シンボリックリンクを作成するために、「コマンドプロンプト」を「管理者として実行」します。

「コマンドプロンプト」を「管理者として実行」
「コマンドプロンプト」を「管理者として実行」

シンボリックリンクを2つ作成します。以下のコマンドを実行します。

mklink /D C:\xampp\php C:\xampp\php824
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp824.conf

以下は実行イメージです。

シンボリックリンク作成の実行イメージ
シンボリックリンク作成の実行イメージ

シンボリックリンクを作成したので、今度はエラーなくApacheが起動するハズです。正常起動を確認します。

Apacheの正常起動を確認
Apacheの正常起動を確認

ブラウザから「http://localhost/dashboard/phpinfo.php」にアクセスし、現在のバージョンのPHP情報が表示されることを確認します。

現在のバージョンのPHP情報が表示されることを確認
現在のバージョンのPHP情報が表示されることを確認

コマンドプロンプトから「php -v」を実行し、PHPのバージョンを確認します。

コマンドプロンプトからPHPのバージョンを確認

以上で、インストール済のPHPに対するシンボリックリンクの作成が完了しました。もうお分かりかもしれませんが、残りの作業は「目的のバージョンのPHPの導入と、それ用のシンボリックリンクの作成」になります。

目的のバージョンのPHPをダウンロード

今回は、PHP7.4系の最終バージョンをダウンロードして、使用できるように作業をしていきます。

XAMPPの公式サイトにアクセスし、一番上に表示されている「ダウンロード」をクリックします。

https://www.apachefriends.org/jp/

XAMPP公式サイト
XAMPP公式サイト

ダウンロードページが開きましたが、ここに表示されている中に、目的の「PHP7.4系最終バージョン」がありませんので、「その他のダウンロード」をクリックします。

「その他のダウンロード」をクリック
「その他のダウンロード」をクリック

「SOURCEFORGE」に遷移しました。古いバージョンのXAMPPは「SOURCEFORGE」に格納されており、ここからダウンロードする形になります。「XAMPP Windows」をクリックします。

「XAMPP Windows」をクリック
「XAMPP Windows」をクリック

Windows用XAMPPのダウンロードページに遷移しました。このページから、様々なバージョンのXAMPPをダウンロードすることができます。今回はPHP7.4系最終バージョンをダウンロードしたいのですが、上から探してみると「7.4.33」がありましたので、それをクリックします。

「7.4.33」をクリック
「7.4.33」をクリック

表示されたリストの中から「xampp-windows-x64-7.4.33-0-VC15.zip」をクリックしてダウンロードします。「インストーラー形式」ではなく「zip形式」をダウンロードします。

「zip形式」をダウンロード
「zip形式」をダウンロード

ダウンロードが完了したら、解凍します。

ダウンロードしたXAMPPからPHPを抜き出す

ダウンロードしてきた「zipファイル」には、XAMPPシステムの一式が含まれているわけですが、この記事で解説している「シンボリックリンクを使用したPHPの切り替え方式」で必要になるのは『PHPだけ』です。

そのため、ダウンロードしてきたファイルの中から、PHPだけを、現在使用しているXAMPP(PHP8.2.4)の中にコピーします。

移行するのは、以下の2つです。

  • フォルダ「¥xampp¥php」
  • ファイル「¥xampp¥apache¥conf¥extra¥httpd-xampp.conf」

上記のフォルダとファイルを「PHP7.4.33」であることを明確にするために、以下のようにリネームして移行します。

  • フォルダ「php」→「php7433」
  • ファイル「httpd-xampp.conf」→「httpd-xampp7433.conf」

リネームしたら、「C:¥xampp」下にCOPYします。

次のスクリーンショットは、フォルダ「php7433」を移行したところです。

フォルダ「php7433」を移行したところ
フォルダ「php7433」を移行したところ

次のスクリーンショットは、ファイル「httpd-xampp7433.conf」を移行したところです。

ファイル「httpd-xampp7433.conf」を移行したところ
ファイル「httpd-xampp7433.conf」を移行したところ

以上でPHPの移行作業は完了です。ここまでの作業で「PHP8.2.4」と「PHP7.4.33」を随時切り替えて使用できる状態になっています。

シンボリックリンク方式による、PHPのバージョンを切り替える手順

切替の手順は以下の通りです。

  1. 現在のシンボリックリンクを削除
  2. 目的のPHPバージョンに向けたシンボリックリンクを作成
  3. Apacheの再起動

現在、PHPのシンボリックリンクは「PHP 8.2.4」に向いているので、PHP 8.2.4が有効になっています。ダウンロードした「PHP 7.4.33」が利用できるように切り替えてみます。

「コマンドプロンプト」を「管理者として実行」します。

「コマンドプロンプト」を「管理者として実行」
「コマンドプロンプト」を「管理者として実行」

次の2つのコマンドを実行します。

del C:\xampp\apache\conf\extra\httpd-xampp.conf
rmdir C:\xampp\php

以上で現在のシンボリックリンクが削除されました。次に、以下の2つのコマンドで「PHP 7.4.33」に向けるシンボリックリンクを作成します。

mklink /D C:\xampp\php C:\xampp\php7433
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp7433.conf

XAMPPコントールパネルから、「Apache」を「Stop」→「Start」します(Apacheの再起動)。

ブラウザで「http://localhost/dashboard/phpinfo.php」にアクセスすると、「PHP 7.4.33」の情報画面が表示されました。

「PHP 7.4.33」の情報画面
「PHP 7.4.33」の情報画面

コマンドプロンプトで「php -v」を実行すると、「PHP 7.4.33」と表示されました。

コマンドプロンプトで「php -v」を実行

以上で、使用するPHPを「PHP7.4.33」に切り替えることができました。

しつこいようですが、この記事で解説した「シンボリックリンクを使用したPHPバージョンの切り替え」は、非推奨な方式です。ここまでの説明で見てきたように、手順が面倒ですし、さらに正常に動作しないPHP処理があるので、本当にオススメしません。

オススメするPHPバージョンの切り替え方法は「XAMPPポータブル版を使用する方法」です。

PHPモジュールの切り替えは?

MacでHomebrewを使用するなどしてPHP環境を作っている方は、「PHPのモジュールの切り替えはしなくて良いの?」と思ったかもしれません。

XAMPP以外の環境では、Apacheの「httpd.conf」に使用するPHPモジュールの設定がされており、PHPのバージョンを切り替えると、その設定も変更しなければならないケースがあります(Macの場合はそうだと思います)。

結論は「XAMPPの場合は必要ない」です。XAMPPでは、PHPモジュールの設定は「httpd-xampp.conf」に書かれており、このファイルは上記の手順の通りPHPのバージョン毎に切り替えているからです。

よかったらシェアしてね!
  • URLをコピーしました!
目次