今天想試用一下php7,可是發現php7只支持Apache2.4版本,而我電腦上的Apache是2.2版本,爲了想嚐鮮,就必須去下載新的Apache2.4php
php7和apache2.4安裝整合之後,localhost能夠正常訪問,沒問題。apache
而後我又配置了幾個虛擬主機,這時候,虛擬主機能夠正常訪問,可是localhost就訪問不了了。php7
其實之前這種問題我也經歷過,好比我以前用的php5.4搭配Apache2.2,就能夠虛擬主機和localhost均可以訪問;spa
可是我以前怎麼解決的我也不記得了,今天又折騰了很久,最後發現,其實就是註釋掉一行代碼的事情。3d
先說配置虛擬主機的流程:code
1.先打開httpd.conf文件,打開httpd-vhosts.confblog
# Virtual hosts Include conf/extra/httpd-vhosts.conf
2.而後打開httpd-vhosts.conf文件,配置一個虛擬主機域名
<VirtualHost *:80> DocumentRoot "D:/amp/www/wechat" ServerName www.wechat.com </VirtualHost>
3.打開hosts文件,添加域名class
127.0.0.1 www.wechat.com
4.重啓Apache,這時虛擬主機的域名www.wechat.com能夠正常訪問,配置
可是個人localhost就不能訪問了。報錯以下:
解決過程:
個人思路是,添加一個名爲localhost的虛擬主機不就能夠了?
1.打開httpd-vhosts.conf文件,配置一個名爲localhost的虛擬主機:
<VirtualHost *:80>
ServerName localhost
DocumentRoot "D:/amp/www"
</VirtualHost>
2.打開hosts文件,添加域名
注意:這一步,作或者不作,都沒有影響,親測經過。
#127.0.0.1 localhost
3.重啓Apache,期待的結果並無出現,哎,都累得半死了,仍是不能訪問localhost,雖然其餘虛擬域名均可以正常訪問,
但是我就是想魚和熊掌兼得,繼續查找問題
問題解決:
最後我比對了我原來的配置代碼,發現,在httpd.conf文件中有一行代碼是須要註釋掉的
#ServerName localhost:80
就是這一行代碼,把我折騰的夠嗆,把 ServerName 這一行代碼註釋掉就能夠了
也許你的httpd.conf文件中並非localhost:80 這個值,多是 ServerName a.com:80 ; 都同樣,直接註釋掉
之後不管開啓或者關閉虛擬主機,localhost均可以正常訪問。
總結:今天在這裏記錄一下,本身犯過兩次的錯誤,保證之後再也不犯了,
再就是遇到問題,不要慌,耐心查找,總能解決的。