今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4
php7和apache2.4安装整合以后,localhost可以正常访问,没问题。
然后我又配置了几个虚拟主机,这时候,虚拟主机可以正常访问,但是localhost就访问不了了。
其实以前这种问题我也经历过,比如我之前用的php5.4搭配Apache2.2,就可以虚拟主机和localhost都可以访问;
但是我之前怎么解决的我也不记得了,今天又折腾了好久,最后发现,其实就是注释掉一行代码的事情。
先说配置虚拟主机的流程:
1.先打开httpd.conf文件,打开httpd-vhosts.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
2.然后打开httpd-vhosts.conf文件,配置一个虚拟主机
<VirtualHost *:80>
ServerName localhost
DocumentRoot "E:\phpStudy\WWW"
</VirtualHost>
3.打开hosts文件,添加域名
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 weitong.com
127.0.0.1 localhost
4.重启Apache,这时虚拟主机的域名weitong.com可以正常访问,
但是我的localhost就不能访问了。报错如下:
解决过程:
我的思路是,添加一个名为localhost的虚拟主机不就可以了?
1.打开httpd-vhosts.conf文件,配置一个名为localhost的虚拟主机:
2.打开hosts文件,添加域名
注意:这一步,做或者不做,都没有影响,亲测通过。
127.0.0.1 localhost
3.重启Apache,期待的结果并没有出现,哎,都累得半死了,还是不能访问localhost,虽然其他虚拟域名都可以正常访问,
可是我就是想鱼和熊掌兼得,继续查找问题
问题解决:
最后我比对了我原来的配置代码,发现,在httpd.conf文件中有一行代码是需要注释掉的
#ServerName localhost
就是这一行代码,把我折腾的够呛,把 ServerName 这一行代码注释掉就可以了
也许你的httpd.conf文件中并不是localhost:80 这个值,可能是 ServerName a.com:80 ; 都一样,直接注释掉
以后无论开启或者关闭虚拟主机,localhost都可以正常访问。
总结:今天在这里记录一下,自己犯过两次的错误,保证以后不再犯了,
再就是遇到问题,不要慌,耐心查找,总能解决的。