Apacheのポートを変更して、他のアプリケーションとの競合を解消し、将来的にはIISを試してみることにしました。以下に説明する問題が発生しました。
基本的なコンテキスト:
WIN 7 x64
XAMPP 1.7.4 (Apache 2.2.17, MySQL 5.5.8, PHP 5.3.5)
そこで、httpd.confでこれを変更することにより、デフォルトのApacheポートを80から8080に変更しました。
Listen 8080 (was Listen 80)
ServerName localhost:8080 (was ServerName localhost)
私のvhostsファイルには次のものがあります。
NameVirtualHost 127.0.0.1:8080
そして、このように定義されたいくつかの仮想ホスト:
<VirtualHost 127.0.0.1:8080>
DocumentRoot "somepath"
ServerName servername
<directory "somepath">
usual stuff here
</directory>
</VirtualHost>
上記で定義したサーバー名を使用して仮想ホストにアクセスしようとすると、ポートを明示的に指定しないと機能しません。
servername:8080
また、vhostsファイルで定義されたポートは、何を試しても(80、8080、何も)違いがないように見えます。常に、ポートにサーバー名を指定する必要があります。
phpinfo()は言う:
SERVER_PORT: 8080
Apacheエラーログにはエラーは表示されません。
これが正常な動作なのか、それとも見落としているものがあるのか疑問に思います。