Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80

第一次安装完apache server的 时候就报错,然后启动也无法启动,就搜到解决方法的好文章


手动cd到Apache的httpd.exe的目录,执行了一下httpd,这下原因找到了,如下图所示:

Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80_第1张图片

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

从图中可以看到错误的原因是套接字绑定错误,这下可以确定是Apache的80端口被占用了。于是就使用命令 netstat -ano 来查看一下到底是哪个程序占用了80端口,如图所示端口查找的结果:

Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80_第2张图片

看到80端口被PID为4的System进程占用,呵呵,我想说一句我擦嘞什么鬼+_+。仔细想了想,一般的程序不会占用80,遂使用命令  netsh http show servicestate 查看一下当前的http服务状态,发现果然有问题,如下图所示:

Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80_第3张图片

图中可以看到,80端口被一个DefaultAppPool的东西占用了,如果用过IIS的童鞋,这时候肯定一定想到了原因,这里我们依然要接着往下找原因,图中可以看出控制器进程ID为4640,那么就 就继续查看一下4640进程是什么鬼,进入任务管理器,找到PID4640的进程,右键转到服务,可以看到当前的进程所在的服务,如图所示:

Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80_第4张图片

Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80_第5张图片
看到图中的服务,这里原因也就找到了,IIS的World Wid Web Publishing Service 万维网服务的问题。

解决方案:

控制面板–>程序–>启用或者关闭Windows功能–>找到Internet Information Service,将其关闭即可

Apache AH00072 错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80_第6张图片


大家占用端口的程序可能不同,我的就是sqlserver 的一个服务占用了端口,最后在服务中把它终止,Apache才成功启动

这是原网址,希望有助于大家。

http://www.youranshare.com/push/topics/softuse/322.html


你可能感兴趣的:(php)