XAMPP无法启动 Apache和mysql的解决办法

一:启动Apache,当出现如下报错时:

可以分析得到出错原因是其需要的80端口被占用了

解决方法一:

1、首先cmd,运行netstat -abon这个命令,查看80端口的网络连接情况,可以发现80端口被PID=4的进程占用了

2、接着打开任务管理器,查看PID=4的具体是什么进程

(注:win7系统在进程选项卡里左击”查看“,再点击”选项列“,勾选弹出框中的”PID“,确定即可查看进程PID)

可以看到PID=4的进程描述是NT kernel & system,该进程是Http.sys。它是http API的驱动组件,Http栈服务器。该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。这就是阻止Apache运行的原因,因为Http.sys占用着80端口。

3、然后用“netsh http show servicestate”命令可以找出是哪个应用程序在使用Http.sys。我的是被“sql server ”的“reportserver”占用了。那么需要到任务管理器找到“reportserver”并结束该进程。这样就可以启动Apache了。成功启动的显示为:

或者用命令禁用它:

运行net stop http

按y 确定

再运行 Sc config http start= disabled

好了,现在启动Apache,可以启动了。

再查看一下netstat -abno

发现pid 4占用了445端口。

解决方法二:

发现出错原因是80端口被占用,那就修改Apache的使用端口,改为81。

步骤:点击Apache的“config”选项,再点击弹出的第一个选项,用“ctr+f”组合键查找80,并把80都改为81。这时启动Apache就可以成功了。

二:当启动mysql时,出现如下错误:

原因是3306端口被占用了,那么用”netstat -abon“查看3306端口被谁占用了,拿到PID后任务管理器找到相应的PID并结束该进程,即可启动mysql。

成功启动mysql的显示如下

但是我的上方显示有点奇怪,虽然mysql启动成功了,还是没能像Apache一样变绿,如下图:

Apache和mysql都成功启动后,当Apache的使用端口为80,443时,网站“http://localhost””https://localhost"都可以访问,缺少443时“https://localhost"会访问不了。不过不碍事。

小结:启动不了Apache是80端口被占用,启动不了mysql是3306端口被占用,怎么看被谁占用呢,用netsh http show servicestate这个命令查看,拿到进程名后就在任务管理器结束它。

具体解决方案的链接是:https://blog.csdn.net/maxsky/article/details/45725109

猜你喜欢

转载自blog.csdn.net/rongzz/article/details/81254524
今日推荐