莫名其妙的apache启动不了已经碰见不止一次了,然后不知所谓的在控制面板上乱按一次什么效果都没有,想来上次碰见这种情况还把这东西重装了一次呢。实在没辙到网上搜来搜去,自己底下改来改去最后还真让我给弄好了。

首先apache启动不了的话一定要去看报错信息,在X:xamppapachelogserror.log中。这里碰见的报错信息是

(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。  
: make_sock: could not bind to address [::]:443
(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。  
: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs

简单说来就是443这个端口被占用了,通常这里端口报错要么是80要么是443。如何确定这个端口呢?开CMD,输入netstat -an就可以看见哪些端口被占用了,输入netstat -anb能看到具体是哪个程序占用了这个端口。我这里查出来发现是system占用,好吧,这没辙了,谁都没他大。只好该XAMPP的调用端口。443端口调用通常在E:xamppapacheconfextrahttpd-ssl.conf内,把Listen 443改为别的没有占用的数。

此外如果报错信息是

(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  
: make_sock: could not bind to address [::]:80
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  
: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

其实这里和上面的报错信息对比一下就发现了,英文部分都是一样的,汉字写得不同而已。所以其实就是80端口被占用了。采取的办法要么把你的开启的软件一个一个关了,比如像迅雷什么的;要么就去X:xamppapacheconfhttpd.conf中改listen 80。一般来说这样更改后apache就可以启动了。

 想说点什么吗?

 (拖动评论框右下角可扩展评论框面积;若评论发表后未显示请耐心等待审核)

左半红印发表于2011.10.29th