当我尝试在 Windows 上运行 apache 时,收到以下错误:
D:\Apps\Apache\bin>D:\Apps\Apache\bin\httpd.exe
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions. : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions. : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
端口80
被PID
4占用
D:\Apps\!Hack>netstat -aon
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1040
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 8380
Pid 4 是System
。
接下来是什么?
答案1
我不知道谁还在为这个问题而苦苦挣扎。但对我来说,停止 iis 服务器有帮助。Windows 服务器始终会优先考虑端口 80 上的 IIS。停止服务器有帮助
答案2
答案3
虽然其他答案都集中在查找和停止可能在端口 80 上运行的其他程序(如果您确实希望 Apache 在 80 上监听,这很有用),但另一个选择是将 Apache 更改为在 80 以外的端口上监听。这很容易做到。
在 Apache 中查找该conf\http.conf
文件,并在该文件中找到以下行:
Listen 80
将其更改为其他端口,例如 81 或 8080。保存文件,重新启动 Apache,然后查看它是否立即启动。
这种方法对于那些想要针对 Apache 以及 IIS(也许还有其他 Web 服务器)进行测试的人来说很有用,他们可以将每个服务器分配给不同的端口(让 IIS 或另一个进程在 80 上运行)。
答案4
我花了好几天的时间遵循互联网上其他 IT 专业人士的示例和建议,但大多数建议对我来说都不起作用,我猜你们大多数人都遇到了同样的问题,几乎要放弃了!不要放弃:
原因如下:我使用的是 Windows Server 2012 R2,我的 xampp 服务器运行良好,直到三天前!我检查了所有内容,但不明白为什么它无法启动!最后,我通过删除/停止网站上的站点让它正常工作IIS 绑定。
- 将端口从 80 更改为 8080/8081/81,只要对您合适即可。
- 按 Win 键 + R 并在对话框“Inetmgr”中运行以下命令,这将打开 IIS 管理器,导航到默认网站,单击它,在右侧您将看到一列,查找选项 Bidings。
- 单击“绑定”选项,查看您为 Xampp 服务器指定的端口是否未被使用?如果是,请选择其他端口号,并确保此端口未被分配给 IIS。
我希望这有帮助