XAMPP Error: Apache shutdown unexpectedly.This may be due to a blocked port, missing dependencies...

问题:通过XAMPP架站时,Apache启动不成功,报错如下:

10:02:35  [Apache] Error: Apache shutdown unexpectedly.
10:02:35  [Apache] This may be due to a blocked port, missing dependencies, 
10:02:35  [Apache] improper privileges, a crash, or a shutdown by another method.
10:02:35  [Apache] Press the Logs button to view error logs and check
10:02:35  [Apache] the Windows Event Viewer for more clues
10:02:35  [Apache] If you need more help, copy and post this
10:02:35  [Apache] entire log window on the forums


这个问题比较常见,出现这个错误的原因是,XAMPP的设置的常用端口,包含http和https的端口都被占用了,解决办法:

cmd 通过运行apache/bin/httpd.exe 打印如下log: 
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:443 
或者后面是80端口被占用
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:80  或[ : : ]:80 
解决方法一:最快的处理方法就是修改端口号:
1、443端口被占用,apache无法监听443端口,该如何解决呢? 
在/xampp/apache/conf/extra/httpd-ssl.conf 
把Listen 443 修改为 444(可自定义)
2、80端口被占用,apache无法监听80端口,该如何解决呢? 
在/xampp/apache/conf/extra/httpd.conf 
把Listen 80 修改为 88 (可自定义)
如果配置了vhosts的话请把httpd-vhosts.conf 中端口改为88(同上端口号)

解决方法二:最直接的方法是关闭占用80、443端口的进程: 
1. 通过cmd中netstat -ano 看看本机80、 443端口被占用没               ----- --这里 可能会被其他程序占用如iis、虚拟机等
2.通过cmd中打印tasklist,查找占用80、443端口的进程名称。 
3.taskkill /pid 端口号 杀掉此进程名称,XAMPP重启apache即可。
综上所述第一种方法推荐使用,第二种每次启动都或多或少的再次遇到。

你可能感兴趣的:(架站)