当前位置:Gxlcms > PHP教程 > PHPApacheshutdownunexpectedly启动错误解释及解决办法

PHPApacheshutdownunexpectedly启动错误解释及解决办法

时间:2021-07-01 10:21:17 帮助过:18人阅读

在学PHP的时候,偶然发现XAMPP窗口Apache的启动出现错误,出现以下的错误提示:

9:52:41 [Apache] Attempting to start Apache app...

9:52:41 [Apache] Status change detected: running
9:52:42 [Apache] Status change detected: stopped
9:52:42 [Apache] Error: Apache shutdown unexpectedly.
9:52:42 [Apache] This may be due to a blocked port, missing dependencies,
9:52:42 [Apache] improper privileges, a crash, or a shutdown by another method.
9:52:42 [Apache] Check the "/xampp/apache/logs/error.log" file

9:52:42 [Apache] and the Windows Event Viewer for more clues


这个问题比较常见, 通常是80、443端口被占用

cmd 通过运行apache/bin/httpd.exe 打印如下log:

通过运行cmd ,输入命令行 netstat -a 查看所有的被占用的端口;如下图:


如图可知, 443的端口被占用了,导致Apache 无法正常启动;


解决办法如下:


(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即可。

综上所述第一种方法推荐使用,第二种每次启动都或多或少的再次遇到。

人气教程排行