我决定更改 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 错误日志不显示任何错误。
我想我想知道这是否是正常行为,还是我忽略了一些东西。