phpの開発作業には、xamppが重宝します。
MYSQLもセットになっており、WIndowsで動作するためです。
レンタルサーバーのPHPバージョンが上がったら、xamppのPHPバージョンを合わせるために、新しいxamppをインストールするような感じです。
ところが今回、昔のPHPで作ったものを直す作業がありました。
PHPの修正作業を実サーバーで行うのは危険です。必ずxampp等ローカル環境で行う必要があります。
しかし、当時のPHPバージョンが7.2で、現在のxamppのPHPは7.4です。
無理やり7.4で動かそうとすると、そもそもエラーとなり動作しません。
しかしながら、現在のPHP7.4のxamppをアンインストールして新たにPHP7.2のxamppを入れなおすことはしたくありません。
理想は、php7.4、php7.2どちらも動作するようにすることです。
何とかならないか試行錯誤してみたところ、うまくできましたので忘備録として記録いたします。
解決方法として複数のxamppを一つのPCにインストールしたい
php7.4とphp7.2どちらも動作するようにするために考えたことは、「xamppを複数インストールする」ということでした。
xamppのphpバージョンを、手動で設定変更する方法もありましたが、その都度設定するのが面倒です。
該当するxamppを起動するだけで済むなら、そちらのほうが楽です。
という動機です。
実際に複数バージョンのxamppをインストールしてみると、「確かに使いやすい」です。
ここで疑問がわいてくるかと思います。
xamppの複数インストールって可能なの?
結論は、複数xamppをインストールすることは可能です。
そのやり方を以下に記載します。
xamppを複数インストールするための理屈
通常アプリは、重複インストールができないようになっています。
専門的な話ですが、アプリをインストールすると、レジストリに登録されるため、重複インストールしようとすると、「すでに登録済み」と判断されるためです。
事実xamppのアプリ版を使用すると重複登録になります。
しかし、xamppには「ポータブル版」というものがあります。
これは、コピーするだけで動作します。
外付けHDD等からでも使用できる代物です。
レジストリ登録しなくてもよいため、複数のXAMPPをインストールすることができるのです。
(正確にはコピーするだけです)
それでは、具体的なインストール方法を以下に記載いたします。
(1)xamppをダウンロードする
なにはともあれ、使いたいPHPのバージョンのXAMPPをダウンロードする必要があります。
今回はPHP7.2のxamppをダウンロードします。
xamppサイトはこちらです。
xamppサイトトップページから、その他のバージョンをクリックする
xamppの最新版はPHP8なので、その他のバージョンダウンロードをクリックします。
さらにその他をクリックする
その他をクリックすると、PHP7.3、PHP7.4が表示されましたが、PHP7.2はないため、その他をクリックします。
英語サイトなので、「More Downloads」をクリックします。
使用するPCのOSをクリックします。
使用するPCのOSをクリックします。
今回はWindowsなので、XAMPP Windowsをクリックします。
目的のPHPバージョンをクリックします
XAMPPのバージョン一覧が表示されます。
XAMPPのバージョンは、PHPのバージョンなので、目的のPHPバージョンをクリックします。
今回はPHP7.2を使用したいので、7.2.33をクリックします。
ポータブル版のZIPをクリックします。
同じバージョンでも、複数タイプあります。
今回はポータブル版のZIPファイルをダウンロードします。
クリックするとダウンロードが始まります。
(2)ポータブル版のXAMPPをインストールする
ポータブル版ZIPのXAMPPは、コピーするだけで使用できます。
そこで、フォルダをつくり解凍します。
XAMPPをいれるフォルダを作る
XAMPPを入れるフォルダを作ります。
もともと入っているXAMPPと名前が被らないように、今回はXAMPP72という名称にしました。
ポータブル版ZIPを解凍して作成したフォルダにコピーする
先ほどダウンロードしたXAMPPポータブル版のZIPを解凍して、作成したフォルダにコピーします。
インストールはコピーするだけです。
注意!このままだと動作しないので、インストールしたフォルダ名を書き換えします。
xamppはデフォルトで「c:/xampp/」フォルダにインストールされる前提に、各種設定ファイルが記述されています。
今回、「D:/xampp72/」にインストールしたので、下記の設定ファイルの「/xampp/」となっているところを「d:/xampp72/」に書き換えします。
※「¥xampp¥」と円記号で表記されている部分もあります。そこは「d:¥xampp72¥」に書き換えします。
書き換える設定ファイル
- D:\xampp72\MercuryMail\MERCURY.INI
- D:\xampp72\mysql\bin\my.ini
- D:\xampp72\mysql\data\my.ini
- D:\xampp72\php\php.ini
- D:\xampp72\apache\conf\httpd.conf
- D:\xampp72\apache\conf\extra\httpd-xampp.conf
- D:\xampp72\apache\conf\extra\httpd-ssl.conf
- D:\xampp72\apache\conf\extra\httpd-multilang-errordoc.conf
- D:\xampp72\apache\conf\extra\httpd-manual.conf
- D:\xampp72\apache\conf\extra\httpd-dav.conf
- D:\xampp72\apache\conf\extra\httpd-autoindex.conf
- D:\xampp72\apache\conf\extra\httpd-vhosts.conf
結構たくさんありますが、初回1回だけ書き換えればOKです。
エディタの置換機能を使用すると簡単にできます。
今回は「D:/xampp72/」フォルダにコピーしたため、「d:/xampp72/」に置き換えています。
コピーしたフォルダに合わせて書き換えればOKです。
xamppを起動しておかしいと思ったら、設定ファイルの見直しを
最初、xamppの設定ファイルのフォルダ名を書き返せずxamppを起動したらエラーで起動しませんでした。
それもそのはず、もともと/xampp/フォルダにインストールされていたxamppを参照していたため、バージョン違いによる動作エラーが発生していたためでした。
そこで、http.conf(apacheの設定ファイル)、php.ini(phpの設定ファイル)のフォルダ名を書き換えしましたが、それでもエラーで起動できませんでした。
いろいろ調べていたら、フォルダを参照している設定がかなり多くあることがわかりました。
上記のファイル一つ一つフォルダ名を修正してようやく起動することができました。
もし動作しない場合、設定ファイルのフォルダ名が「/xampp/」のままになっている場合があります。
また、記述ファイルによって「/xampp/」、「¥xampp¥」という風に、円記号、スラッシュ記号で書かれているケースがあります。それぞれの書式に合わせて「d:/xampp72/」、「d:¥xampp72¥」という風に書き換える必要があります。
いずれにせよ、一度設定できれば、次回以降は設定する必要がないため、PHPのバージョン切り替えを、xamppの起動だけで切り替えできます。
私は、この方法で複数PHPバージョンのxamppを切り替えて使っています。
また本記事がお役に立てば幸いです。