複数のPHPプロジェクトを同時検証する際のPORT切り分け方法
- 2019年6月27日
- Web Service
XAMPPなどで複数のプロジェクトを立ち上げ検証をおこなう際に、htdocs内にプロジェクト毎のディレクトリで切り分けるのが一般的かと思いますが、その場合、検証用URLにディレクトリパスが追加されることになります。
例)
http://localhost/projectA/
http://localhost/projectB/
http://localhost/projectC/
検証用URLにディレクトリパスが追加しないで、複数のプロジェクトを立ち上げ検証をおこなうにはどうすればいいでしょうか。
その場合、PORTの切り替えでドキュメントルートを切り分けるといった方法が使えます。
例:projectAの場合:
http://localhost:8001/
例:projectBの場合:
http://localhost:8002/
例:projectCの場合:
http://localhost:8003/
上記のような設定をおこなうには、Apacheの設定ファイル「 httpd-vhosts.conf 」の書き換えをおこないます。
httpd-vhosts.conf は以下にあります:
(apacheのインストールパス)\conf\extra\httpd-vhosts.conf
httpd-vhosts.confをテキストエディタで開いて、最後の行の後に、以下のように追加をおこないます。
#projectA ---
Listen 8001
<VirtualHost *:8001>
DocumentRoot "C:/php-workspace/projectA"
ServerName localhost:8001
##ErrorLog "logs/dummy-host1.example.com-error.log"
##CustomLog "logs/dummy-host1.example.com-access.log" common
</VirtualHost>
#projectB ---
Listen 8002
<VirtualHost *:8002>
DocumentRoot "C:\php-workspace\projectB"
ServerName localhost:8002
##ErrorLog "logs/dummy-host2.example.com-error.log"
##CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
#projectC ---
Listen 8003
<VirtualHost *:8003>
DocumentRoot "C:\php-workspace\projectC"
ServerName localhost:8003
##ErrorLog "logs/dummy-host3.example.com-error.log"
##CustomLog "logs/dummy-host3.example.com-access.log" common
</VirtualHost>
この状態で
http://localhost:8001/
などにアクセスすると以下のエラーが表示される場合があります。
アクセスすると表示されるエラー

上記のエラーはアクセス権限によりディレクトリにアクセスできない場合に表示されます。
表示された場合は、
httpd-vhosts.conf に以下の追加をおこない、ソースコードが置いてあるディレクトリ(今回の例の場合「C:/php-workspace」以下のディレクトリ)にアクセスが可能になるように対処します。
<Directory "C:/php-workspace">
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
以上でPORT分けによる複数のPHPプロジェクトの切り分けの設定は完了です。
木曜担当:nishida
nishida at 2019年06月27日 10:00:58