前回、windows版xamppで作ったテスト環境を、php5.6とphp7.2のバージョンのどちらかを選択して起動出来る様に改造しました。
今回は、phpのバージョン違いでphpファイルが実行出来たり出来なかったりと不具合も多いので、htdocsフォルダもphp5.6とphp7.2のバージョンで分けて読み込む様にします。
xampp環境
xamppのインストールフォルダは、c:\xamppとします。
下準備
「htdocs」フォルダを複製
phpのバージョンで住み分けするように、本家xamppの「htdocs」フォルダを2つコピーして、それぞれ「htdocs72」フォルダと「htdocs56」フォルダとリネームしておきます。
本家があると間違って本家を読み込んだ時に気がつかないので、「htdocs」を別名に「htdocs_org」とでもしておきます。
コピーする場所はhtdocsフォルダと同じにしておくので、最終的に
C:\xampp\htdocs_org
C:\xampp\htdocs72
C:\xampp\htdocs56
となります。
Apacheの設定ファイルも複製
設定ファイルをphpのバージョン毎に作ることによって、Apache起動時にhtdocsを選択できるようにします。
まず、「C:\xampp\apache\conf」にある「httpd.conf」を同じフォルダに2つコピーして「httpd72.conf」、「httpd56.conf」とリネームします。
次に「C:\xampp\apache\conf\extra」にある「httpd-xampp.conf」と「httpd-ssl.conf」も、それぞれ2つコピーして、「httpd-xampp72.conf」「httpd-xampp56.conf」「httpd-ssl72.conf」「httpd-ssl56.conf」とリネームします。
「httpd.conf」のDocumentRootを書き換え
まず、「httpd72.conf」と「httpd56.conf」をテキストエディタで開き、「htdocs」を検索する。
以下の2ヶ所があるので、書き換えます。
DocumentRoot "C:/xampp/htdocs" <Directory "C:/xampp/htdocs">
httpd72.confは
DocumentRoot "C:/xampp/htdocs72" <Directory "C:/xampp/htdocs72">
と書き換えます。
httpd56.confは
DocumentRoot "C:/xampp/htdocs56" <Directory "C:/xampp/htdocs56">
と書き換えます。
「httpd.conf」のIncludeを書き換え
次に
「Include “conf/extra/httpd-xampp.conf”」
と
「Include conf/extra/httpd-ssl.conf」
を探して、
httpd72.confは
「Include “conf/extra/httpd-xampp72.conf”」
と
「Include conf/extra/httpd-ssl72.conf」
に書き換えます。
httpd56.confは
「Include “conf/extra/httpd-xampp56.conf”」
と
「Include conf/extra/httpd-ssl56.conf」
に書き換えます。
「httpd-xampp.conf」を書き換え
「C:\xampp\apache\conf\extra」フォルダに作った「httpd-xampp.conf」のコピーファイルを書き換えます。
<Directory "C:/xampp/htdocs/xampp">
を
「httpd-xampp72.conf」は、
<Directory "C:/xampp/htdocs72/xampp">
「httpd-xampp56.conf」は、
<Directory "C:/xampp/htdocs56/xampp">
「httpd-ssl.conf」を書き換え
「C:\xampp\apache\conf\extra」フォルダに作った「httpd-ssl.conf」のコピーファイルを書き換えます。
DocumentRoot "C:/xampp/htdocs"
を
「httpd-xampp72.conf」は、
DocumentRoot "C:/xampp/htdocs72"
「httpd-xampp56.conf」は、
DocumentRoot "C:/xampp/htdocs56"
Apacheの起動オプション-fを付けてバッチファイルから起動
Apacheを起動するためにバッチファイルを作り、
「apache\bin\httpd.exe -f conf/httpd56.conf」と書けばドキュメントルートが「C:/xampp/htdocs56」
のxamppになり、
「apache\bin\httpd.exe -f conf/httpd72.conf」と書けばドキュメントルートが「C:/xampp/htdocs72」
xamppになります。
phpのバージョン切り替えて起動と合わせると、xamppを二つインストールして無駄にディスク容量を消費すること無く、php5.6とphp7.2の両方のテスト環境が手に入ります。
詳しいバッチファイルの作り方はこちらの記事に書いています。
XAMPPで複数のPHPを切り替えて起動する方法(シンボリックリンクを使わない方法)
コメント