XAMPP,Apache – 错误:Apache意外关机

我刚刚重新安装了XAMPP,当我尝试在XAMPP控制面板中启动Apache服务器时,现在出现以下错误:

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

我如何解决这个问题?

打开Skype。

工具 – >选项 – >高级 – >连接。

禁用“ 使用端口80和443替代传入连接

注销并closures所有Skype窗口。 尝试重新启动你的Apache。

由于我在开发人员遇到防火墙问题的企业环境中工作,所以其他答案都不能解决我的问题。

由于该端口不是由Skype使用,而是由其他一些内部应用程序使用,我按照以下步骤解决了这个问题:

第1步 – 从XAMPP控制面板的Apache下,单击configurationbutton,然后selectApache(httpd.conf)。

httpd.conf文件中,不知何故,我发现一行说:

 Listen 80 

把80改成你想要的任何号码/端口。 在我的情况下,我正在使用端口8080。

 Listen 8080 

仍然从httpd.conf文件,我发现另一行说:

 ServerName localhost:80 And change 80 to 8080. ServerName localhost:8080 

第2步 – 从XAMPP控制面板的Apache下,再次单击configurationbutton,但这次selectApache( httpd-ssl.conf )。 在httpd-ssl.conf文件中,find说的那一行

 Listen 443 

把443改成你想要的任何号码/端口。 我将使用4433作为新的端口号。

 Listen 4433 

仍然从httpd-ssl.conf文件中find另一行

 <VirtualHost _default_:443> ServerName localhost:443 

并改变4434433

 <VirtualHost _default_:4433> ServerName localhost:4433 

请记住在执行一些更改后保存httpd.confhttpd-ssl.conf文件。 然后重新启动Apache服务。

你可以做的一件事是通过发行停止80端口的服务

 net stop http 

在一个CMD。 你会被问到是否确定要停止这些服务。 我发现我有一些服务,我没有使用,并禁用它们。

要查看还有谁在使用端口80types的cmd

 netstat -abno 

我假设你想在端口80上运行Apache。如果是这种情况,你想保持冲突的服务,你将需要将它们关联到一个新的端口。

如果问题不是繁忙的端口,您也可以尝试以下操作:在XAMPPconfiguration面板中select“显示debugging信息”。 当启动Apache时,你会看到类似于“执行”c:\ xampp \ apache \ bin \ httpd.exe“。如果你运行

 c:\xampp\apache\bin\httpd.exe 

在一个cmd中,你会得到更多的信息(我曾经例如有一些问题与我的httpd.conf文件)。

相关: 如何在localhost Windows上释放我的端口80? Apache将不能在xampp中运行

按着这些次序:

  1. 打开您的XAMPP控制面板,然后点击其“configuration”
  2. select“Apache(httpd.conf)”并find下面的代码,并将其更改为下面的代码:

    #将其更改为监听特定的IP地址,如下所示

    #阻止Apache浏览所有绑定的IP地址。

    #Listen 0.0.0.0:80

    #Listen [::]:80

    Listen 80

    #dynamic共享对象(DSO)支持

    1. 保存( Ctrl + S
    2. 之后,回到XAMPP控制面板,再次点击其configuration。
    3. select“Apache(httpd-ssl.conf)”,find下面的代码,并再次更改:

    #注意:使用IPv6而不是IPv4映射地址的configuration需要两个

    #听指令:“Listen [::]:443”和“Listen 0.0.0.0:443”

    #Listen 0.0.0.0:443

    #Listen [::]:443

    Listen 443

    1. 保存( Ctrl + S
    2. 然后,点击“configuration”(注意:在netstat上面)并点击“服务和端口设置”​​。
    3. 将“主端口”更改为8080,将“SSL端口”更改为4433,然后保存。
    4. 最后,进入“控制面板” – >“程序和function” – >“打开或closuresWindows”。
    5. 取消您的“Internet信息服务”,然后单击确定。

等待它,您的电脑/笔记本电脑将自动重新启动,并尝试再次打开您的XAMPP控制面板,然后启动您的Apache。

在XAMPP控制面板V3.2.1中,点击右上angular的“NetStat”button。 确保端口80不被任何其他程序使用。 然后点击它下面的“shell”。 发出此命令“键入ap然后TAB两次”

Apache_Start.bat

你将会看到Apache失败的原因。 这将主要是虚拟主机configuration问题或可能是别的东西。 它将显示发生错误的行号。 只需修复该错误。 请注意,在RootDocument中,\也可能是错误的来源。 删除任何结尾的“\”。

有关更多详细信息, 请点击此处

我的问题是,在httpd.conf DocumentRoot<Directory>条目指向不存在的文件夹。

例如,“原始的”httpd.conf有以下条目:

 DocumentRoot "c:/Apache24/htdocs" <Directory "c:/Apache24/htdocs"> 

如果你已经安装在C:\ xampp那么你需要改变这些条目匹配,即

 DocumentRoot "c:/xampp/htdocs" <Directory "c:/xampp/htdocs"> 

我有同样的问题,事实certificate,我忘了运行setup_xampp.bat (便携版)。

如果您使用的是Windows 7。 在Windowssearch中searchIIS(单击左下angular的“窗口”图标,然后键入“search程序和文件”)。

打开IIS(Internet信息服务)

在动作面板的右侧。 点击停止。

注意:停止链接在屏幕截图中淡入淡出。 我已经停止了。 IIS截图 问题解决了!

我有同样的问题。 我有一台旧笔记本电脑,几乎所有的端口都被阻塞或发生故障。 我就是这么做的

  1. 打开XAMPP控制面板。

  2. 点击Config

  3. 然后,进入Apache httpd.conf文件。 用文本编辑器打开它。

  4. search“80”按Ctrl + F并find所有这些,用8080或4040或4000replace)。

  5. 保存文件。 并重新启动XAMPP。

它对我很好,我希望它也能帮助你。

对我来说,万维网发布服务正在使用端口80.我通过在cmd上运行以下命令来杀死这个:

 net stop http 

之后,XAMPP运行Apache没有任何问题。

你可以做的简单的事情是检查你的机器是否安装了Skype或VMware 。

Skype使用端口80和443作为传入连接的附加端口。 要更改Skype中的端口号,请转到

工具>连接选项>连接

在Skype窗口中。 现在将默认的80端口号改为其他。

VMware Workstation使用端口443进行共享。 要改变这个,打开VMware Workstation并转到

编辑>首选项>共享Vms

  1. 点击“更改设置”button
  2. 然后点击“禁用共享”
  3. 然后更改正在使用的https端口号(443)
  4. 然后你可以点击“启用共享”button

这就是你所要做的。 重新启动XAMPP并运行Apache服务器。

当我发现使用命令没有使用端口80的进程

 netstat -abno | find ":80" 

使用端口80的过程没有问题。

然后我运行命令(以cmd)

 C:\xampp\apache\bin\httpd.exe 

它在httpd-vhosts.conf文件中的虚拟主机configuration中显示了一些错误,这个错误最近由我编辑,安装在Eclipse IDE的WordPress PHP环境中。 所以我删除了这些行,Apache开始完美。

发生此错误是因为分配给Apache的端口被另一个程序使用。 要检查使用我们为Apache分配的端口的应用程序,可以通过点击,

Netstatbutton。

XAMPP主页

这是Netstat文件,

在这里输入图像说明

起初,我已经为Apache分配了8080端口,而且我最近安装了Oracle DB.TNSLSNR.exe现在已经使用了8080端口。

所以通过查看这个文件我们可以select一个不与其他应用程序冲突的端口。 在我的情况下,端口8060不与任何应用程序冲突。 通过select我们可以更改httpd.conf文件(XAMPP控制面板 – > configuration )如上所述。

  1. 下载新的xampp apachefriends
  2. 安装它
  3. 删除所有VPN应用程序
  4. 打开文件夹XAMPP运行setup_xampp.bat
  5. 运行xampp-control.exe

对我而言,当我在Windows 8计算机上托pipe一个VPN连接时,就出现了这个问题。

简单地从“控制面板\networking和Internet \networking连接”删除连接解决了这个问题。

请注意,无论何时更改默认端口,浏览器都不会知道这一点。 80443在某些方面似乎是标准的,例如,如果您将80更改为8080 ,则必须按以下方式访问您的网站:

localhost:8080/path_to_your_website.php

由于缺省端口80,这种情况会被Apache阻止。 您需要更改端口或使端口可访问。

在Apache安装中转到您的Apacheconfiguration文件(httpd.conf)

find这些行:

192.168.1.2:80

80

这里192.168.1.2是我的私有IP地址。 改变它根据你的。

更改如下

听192.168.1.2:8081

听8081

现在,当你访问本地主机,你必须明确添加端口为http:// localhost:8081 / …

其中一个原因可能是您没有以pipe理员身份运行XAMPP控制面板。

在我的情况下,这个问题是由于试图下载其他产品bitnami,如WordPress 。 当我们通过XAMPP安装WordPress时,这很常见。 它被放置在可从XAMPP应用程序主页访问的xampp/app目录中。

作为解决scheme,我从xampp目录中删除了默认安装的WordPress,并通过下载并在htdoc文件夹中解压zip文件,在WordPress的htdocs文件夹中手动安装了WordPress。 您还需要在卸载/删除默认的WordPress后重新启动XAMPP或系统 。 现在一切都好了。

默认情况下,Apache服务器在端口80,443上运行。您的问题是一个或两个端口都忙。 通常Skype或VMware Workstation使用这两个端口。 所以,确保他们没有运行。 确保Windows上的端口免费的最佳方法是:

  • 点击窗口button。

  • 在search栏中键入resmon ,打开资源监视器resmon.exe

  • 打开侦听端口 ,这将显示您打开的使用端口。

  • 现在您可以看到哪个进程正在使用端口80和443。

  • 然后,您可以使用其PID(在资源监视器中显示)从CMD中终止进程,也可以直接从任务pipe理器中终止该进程。

  • 要使用PIDtypesTaskkill /PID 26356 /F从CMD中Taskkill /PID 26356 /F进程,其中26356是PID。

我解决了停止服务“Web部署代理服务”的问题。 打开: 系统 – > 计算机pipe理 – > 服务 – > Web部署代理服务 。 停止这项服务,启动XAMPP。 我认为这是由MS Webmatrix提供的服务。

(German: Systemsteuerung – > System und Sicherheit – > Verwaltung – > Dienste – > Webbereitstellungs-Agent-Dienst

在我的情况下,这发生在安装SQL Server后,解决scheme是在这个答案中描述

Xampp – 安装SQL Server和Visual Studio后无法启动Apache

所以我不得不从Windows服务中禁用“SQL Server Reporting Services”服务

最佳解决scheme

打开XAMPP控制面板,点击config for Apache,然后在文本编辑器中点击Apache(httpd.config).now。 ctrl + f – >find“Listen 80”并用“Listen 8079”replace掉而不用引号:)但现在你必须像这样使用http:// localhost:8079 /

PS,我试图改变Skype的端口设置,停止Web部署代理服务,我无法find在Windows 10中,CMD – >净停止http和其他方法,但没有任何工作,除了这一点。

首先,你应该validation你的httpd-vhosts文件中没有多余的虚拟主机。 我的意思是简单的规则:1项目= 1configuration文件中的虚拟主机。 否则,即使您将更换端口等,您也会遇到错误

我有与OP完全相同的错误消息,但我的问题没有解决任何现有的答案。 许多答案处理80端口的冲突,我知道我没有,因为我最近有80端口的本地主机响应。

事实certificate,当我打算更改DocumentRoot (愚蠢的,我知道)时,我无意中更改了ServerRoot ,尽pipe新的ServerRoot目录已经存在,但它不包含configuration文件和其他apache所需的东西,从而导致它在启动时失败。 该错误消息可能通过措辞“ 缺less依赖关系 ”来解决这种情况。

在我的Windows系统上,将ServerRoot设置回C:/ XAMPP / apache解决了这个问题。

最好的解决scheme为Windows用户是:

  1. 打开netstat(来自XAMPP控制面板)
  2. 查找使用端口80的进程的PID。
  3. 打开CMD与行政。
  4. 运行taskkill /pid PID (而不是PID使用从netstat中find的pid)
    Heyy喜欢你完成…..
  1. 首先确保你的\xampp文件夹在根目录下! 这是重要的,因为path是相对的。

  2. 然后确保使用pipe理员权限运行xampp_control.exe

  3. 然后更改下面的文件以避免阻塞端口80的问题。

\xampp\xampp-control.ini应该设置:

 [ServicePorts] Apache=8080 ApacheSSL=4433 

find\xampp\apache\conf\httpd.conf并设置:

 Listen 8080 ServerName localhost:8080 

find\xampp\apache\conf\extra\httpd-ssl.conf并设置:

 Listen 4433 <VirtualHost _default_:4433> ServerName www.example.com:4433 

然后结束所有服务,并用pipe理权限重新启动xampp-control.exe 。 它应该运行!

我试图执行cmd中的httpd.exe,并得到错误,在httpd-vhosts.conf中有语法错误。 我查了一下文件,发现有什么问题,现在工作正常。

所以,如果你面临这个错误,那么可能是因为httpd-vhosts或其他文件。

尝试通过CMD执行该程序,你会得到错误的细节和语法错误的地方。

祝你好运

似乎没有人回答有关执行xampp_start.exe。

我做了所有以前的答案,但没有解决我的问题。 我发现运行xampp_start.exe会给你一个关于这个问题的详细信息。

这是我在我看来:

xampp_start

正如你可以看到我有一个path问题或XAMPP指向不存在的文件夹。

从Windows 8.1的5.6.8安装最新的5.6.12为我工作。