先日Laravel6を使ったシステムの改修を請け負う為に開発用サーバーにPHP7.2をいれてどうのうこうのと奮闘しているなか、一先ずWindowsに仮想環境を入れて表示だけでもできたらと思い、以前から入れてあるXAMPPからPHP7.4対応の旧XAMPPを入れようと思いひとまずやってみました。

 

 

接続できません。設定が無効です。
対象のコンピューターによって拒否されたため、接続できませんでした

 

結果:旧サーバーは立ち上がらず

まぁ思った通りの結果。理由は何となくわかってます。

エラー表示した内容からするとポート80番がメインのXAMPPに割り当てられてるために後から入れたものはダメということでしょう。

XAMPPのコントロールパネル右上にあるConfigという所から「Service and Port Settings」というメニューで各ポート番号を設定する箇所があるんだけど、これを先にやっても何も変化がなかったので、設定ファイルを直接触る方法で変更することにしました。

ネット上で複数XAMPP入れて利用している方もちらほらいたので、その方々らが対応した内容を確認しながら起動するように設定していこうと思います。

まずはサブXAMPPの前処理です。メインXAMPPと別認識させるためにアプリがあるフォルダの名前を変更しておきます。例としてxampp7.4とかPHPのバージョンの数字をいれておくとします。

そのフォルダ内にあるsetup_xampp.batというバッチファイルを実行しておきます。

そうすることで、動作に必要となる色々なファイル内に記述されたパスのうち、xamppというファイル名が自動で変更されます。おかげでパスのルートを変更する手間が省けます。

その作業が済んで、次はサブXAMPPのポート番号変更。

Web用は通常80番と443番を利用し、メインでそれが予約されているのでサブ用には8080番と4433番を使用するように変更。

XAMPPのコントロールパネルから行のconfig > Apache(httpd.conf)を選択し、以下を変更

 

Listen 80 → Listen 8080
ServerName localhost → ServerName localhost:8080

 

XAMPPのコントロールパネルから行のconfig > Apache(httpd-ssl.conf)を選択し、以下を変更

 

Listen 443 → Listen 4433
<VirtualHost _default_:443> → <VirtualHost _default_:4433>
ServerName www.example.com:443 → ServerName www.example.com:4433

 

XAMPPのコントロールパネルからMySQL行のconfig > my.iniを選択し、以下を変更

 

[client]
port = 3306 → port = 3307

[mysqld]
port= 3306 → port= 3307

 

XAMPPのコントロールパネルから行のconfig > phpMyAdmin(config.inc.php)を選択し、以下を変更

 

$cfg['Servers'][$i]['port'] = '3307'; ← ポート番号用の設定項目を追加
$cfg['Servers'][$i]['auth_type'] = 'config';

 

これが終わったらApache、MySQLをStopし再Start、もしくはXAMPPを再起動してブラウザでそれぞれ確認します。

 

サブ用
http://localhost:8080

phpMyAdmin
http://localhost:8080/phpMyAdmin

 

これで、メインXAMPPとサブXAMPP切り替えて作業する環境は一先ずできました。