如何解决“错误:Apache意外关闭”?

How to solve "Error: Apache shutdown unexpectedly"?

提问人:Tomas Skovgaard 提问时间:8/18/2013 最后编辑:DharmanTomas Skovgaard 更新时间:9/12/2023 访问量:2151759

问:

我刚刚重新安装了 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

我该如何解决这个问题?

Apache XAMPP

评论

1赞 akinuri 4/22/2020
我在安装新版本的 XAMPP 后开始遇到这个问题。我以为问题出在端口上,因为几乎每篇文章都在谈论它们,但事实并非如此。当我检查时,我看到了导致我得出这个答案的原因。安装所需的可再发行组件解决了该问题。error.logPHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build
0赞 peter70 3/28/2023
我遇到了同样的问题,但更改端口没有任何作用。相反,我在 Windows 菜单中键入 xampp,然后右键单击它并选择“以管理员身份运行”。在那之后,我可以像往常一样开始一切。
0赞 Mert Aksoy 11/8/2023
我有同样的问题。显示的日志不清楚。所以运行apache_start.bat,它准确地向我展示了问题所在。

答:

44赞 kimiberi 8/22/2013 #1

请按照下列步骤操作:

  1. 打开您的 XAMPP 控制面板,然后单击其“配置”
  2. 选择“Apache (httpd.conf)”,在下面找到这段代码,并将其更改为以下代码:

    #Change 此项以侦听特定 IP 地址,如下所示

    #to 防止 Apache 对所有绑定的 IP 地址进行攻击。

    #Listen 0.0.0.0:80

    #Listen [::]:80

    Listen 80

    # 动态共享对象 (DSO) 支持

    1. 保存它 (Ctrl + S)
    2. 之后,返回 XAMPP 控制面板并再次单击其配置。
    3. 选择“Apache (httpd-ssl.conf)”,在下面找到这段代码,然后再次修改:

    # 注意:使用 IPv6 但不使用 IPv4 映射地址的配置需要两个

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

    #

    #Listen 0.0.0.0:443

    #Listen [::]:443

    Listen 443

    1. 保存它 (Ctrl + S)
    2. 然后,单击“配置”(注意:在netstat上方),然后单击“服务和端口设置”。
    3. 将“主端口”更改为 8080,将“SSL 端口”更改为 4433,然后保存。
    4. 最后,转到“控制面板”->“程序和功能”->“打开或关闭Windows”。
    5. 取消选中“Internet Information Services”,然后单击“确定”。

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

评论

11赞 toesslab 11/30/2013
小心。如果安装了 VMWare Workstation (10.0),则共享 VM 的选项是侦听端口 443。这阻止了Apache服务器启动(xampp)。请参阅编辑>首选项>共享虚拟机
4赞 Noah Martin 3/13/2014
侦听 80 --> 侦听 81(第 58 行附近) 服务器名称 localhost:80 --> 服务器名称 localhost:81(第 218 行附近)
2赞 Matt Carr 4/15/2014
为我工作。我试图使用XAMPP“Config GUI”更改Apache端口,但没有运气。手动更改了它,一切都有效。懒惰的另一个残酷教训。
0赞 codepleb 6/15/2014
终于找到了我的解决方案。我已经更改了Skype的东西,但它没有帮助。谢谢!(:唯一的问题是描述最后一部分的第 3 点和第 4 点。
0赞 user3437460 11/20/2014
为我工作,我使用的是没有 VMware 的 windows7。+ 1
118赞 user2314737 9/6/2013 #2

您可以做的一件事是通过发出

net stop http

在 cmd 中。系统会询问您是否确定要停止这些服务。我发现我有一些我没有使用的服务,并禁用了它们。

要查看还有谁在使用端口 80,请在 cmd 中键入

netstat -abno

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

如果问题不是繁忙的端口,您还可以尝试以下操作:在 XAMPP 配置面板中选择“显示调试信息”。启动Apache时,您将看到类似“正在执行”c:\xampp\apache\bin\httpd.exe“的内容。如果你运行它

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

在 cmd 中,您将获得更多信息(例如,我曾经对我的 httpd.conf 文件有一些问题)。

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

评论

13赞 thomas88wp 9/11/2014
+1 表示 httpd.exe。如果您缺少模块,请确保您的防病毒软件没有删除它们(尤其是在您运行 Kasperky 时)。
2赞 Matthew 3/21/2015
我遇到了同样的问题,并通过确保 /apache/conf/extras/httpd-bhosts.conf 中指定的每个目录都是实际路径来解决它。
9赞 Khan Shahrukh 6/1/2015
感谢在cmd上运行C:\xampp \ Apache \ BIN\httpd.exe的人抛出了确切的错误并能够修复它
0赞 Henry 5/15/2019
2019 服务器上的这个 wordk。net stop http 可以解决问题:它停止使用该端口的所有服务。这项服务我表示要手动启动。
1赞 Parag Jadhav 2/13/2020
执行对我的工作。谢谢你:)c:\xampp\apache\bin\httpd.exe
441赞 Abuarif 9/25/2013 #3

打开 Skype。

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

取消选中“使用端口 80 和 443 作为传入连接的替代端口”复选框

注销并关闭所有 Skype 窗口。尝试重新启动 Apache。

评论

12赞 Faisal Naseer 12/6/2014
如果它对任何人都不起作用,请尝试检查错误日志。或者,如果您使用的是 VMWARE,则必须编辑>首选项>共享虚拟机>禁用共享并将端口从 443 更改为任何其他端口(例如 8443)并保存更改。重新启动 XAMPP 或 WAMP
9赞 Timmah 2/7/2015
我改变了Skype,仍然注意到。解决方案最终是(stackoverflow.com/questions/14548768/...setup_xampp.bat刷新路径]
29赞 Rahul Kadukar 12/14/2015
这不是正确的解决方案,因为端口可能会因任何应用程序而被阻止,而不仅仅是Skype。第二高的赞成率答案有更好的解决方案。
3赞 Vineet Sajwan 2/15/2016
这是人们面临的最常见的问题,尽管这不是我的问题。如果这些文件 httpd.conf 和 httpd-vhosts.conf 中的任何一个中有错误的条目,也可能会出现此问题。就我而言,我创建了一个虚拟主机,该主机指向外部硬盘驱动器上的文件位置,当我运行 xampp 时,我的外部硬盘驱动器未连接。因此,我注释掉了该虚拟主机代码,直到我没有使用外部硬盘驱动器并重新启动 xampp 来解决问题。
3赞 Moradnejad 5/25/2016
它并不总是Skype。我的问题是使用端口 443 的 vmware。如果是这种情况,则不必更改端口 80 配置。
37赞 CramerTV 5/7/2014 #4

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

例如,“原始”httpd.conf 包含以下条目:

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

如果您已安装在 C:\xampp 中,则需要更改这些条目以匹配,即

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

评论

0赞 VSB 8/22/2014
我重命名了文件夹,这导致了无效的根 http 文件夹,并且没有让 XAMPP 启动。将文件夹名称更改为正确的文件夹名称修复了此:)
2赞 Morten Høgseth 8/24/2014
+1,我完全忘记了我重组了我的文件夹=)
0赞 CramerTV 8/26/2014
我也是——“......但我什么都没改变...”是的,除了根目录名称 -- 哎呀。;)
2赞 salgmachine 5/6/2015
只不过是一个简单的答案,有时会提醒自己的愚蠢......:D这为我做到了,谢谢!
8赞 Memet Olsen 7/14/2014 #5

For me, world wide web publishing-service was using port 80. I killed this by running the following command on cmd:

net stop http

After that, XAMPP ran Apache without any problems.

评论

1赞 Karavana 8/13/2014
that solved my problem, but now we stopped some services, how those services affect my networking?
0赞 AMRESH PANDEY 4/30/2017
我以管理员身份运行命令提示符,这奏效了。但我的问题是,停止的服务是否会影响正常的计算,以及我将如何再次停止、启动并运行这些服务。
0赞 Memet Olsen 5/1/2017
@AMRESHPANDEY 我发现了一些在这种情况下可能有用的东西。不过,我没有尝试它是否有效。如果有效,请随时将其添加为答案:mikeplate.com/2011/11/06/......
24赞 Paul 10/25/2014 #6

我遇到了同样的问题,结果我忘了运行(便携式版本)。setup_xampp.bat

评论

3赞 Pascal Cloverfield 11/5/2014
将我的 xampp 文件夹移动到另一个驱动器后,而不是 c:\ apache 不再启动。这个解决方案对我有用。多谢!:)
0赞 shasi kanth 12/7/2015
我认为这一步是强制性的,当我们将 Xampp 软件下载为 zip 存档并尝试启动 Apache 服务器时。
1赞 Sidney de Moraes 5/12/2016
这是便携式版本(我的情况)的答案。谢谢你指出来。
0赞 quokka-web 10/16/2017
它也解决了我的问题。我不是便携式版本。我在 Windows 10 上下载了 xampp 的设置。安装后(它是 exe 而不是 zip),我遇到了第一篇文章中描述的问题。在搜索了此问题的解决方案后,我运行了setup_xampp.bat,现在它正在工作。
0赞 gegobyte 11/6/2018
我的 Windows 损坏了,因为驱动器名称被更改了,绝对文件路径完全混乱。我运行了setup_xampp.bat,一切都重新配置了。
12赞 viper 11/9/2014 #7

您可以做的简单事情是检查您的计算机中是否安装了SkypeVMware

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

连接>连接工具>选项

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

VMware Workstation 使用端口 443 进行共享。要更改此设置,请打开 VMware Workstation 并转到

编辑>首选项>共享虚拟机

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

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

评论

0赞 Haris ur Rehman 7/14/2015
在进行Skype更改后,apache仍然没有启动,所以我做了提到的VmWare更改,它起作用了。
963赞 Min2 12/21/2014 #8

由于我在开发人员面临防火墙问题的企业环境中工作,因此其他答案都没有解决我的问题。

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

步骤1 - 在XAMPP控制面板的Apache下,单击“配置”按钮,然后选择Apache(httpd.conf)。

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

Listen 80

并将 80 更改为您想要的任何数字/端口。在我的方案中,我使用的是端口 8080。

Listen 8080

仍然从 httpd.conf 文件中,我找到了另一行,上面写着:

ServerName localhost:80

将 80 更改为 8080。

ServerName localhost:8080

步骤2 - 在XAMPP控制面板的Apache下,再次单击“配置”按钮,但这次选择Apache(httpd-ssl.conf)。在 httpd-ssl.conf 文件中,找到说

Listen 443

并将 443 更改为您想要的任何数字/端口。我将使用 4433 作为新的端口号。

Listen 4433

仍然在 httpd-ssl.conf 文件中,找到另一行,上面写着

<VirtualHost _default_:443>

ServerName localhost:443

并将 443 更改为 4433

<VirtualHost _default_:4433>

ServerName localhost:4433

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

评论

9赞 8/27/2015
我升级到 Windows 10,但 XAMPP 无法正常工作。我遵循了您的解决方案,效果很好。
11赞 Javed Ali 6/28/2017
这是对 Windows 10 错误的修复。多谢!
7赞 ptrcao 12/2/2018
对我有用。这应该是公认的解决方案;Skype解决方案非常有限。
7赞 Bhargav Venkatesh 2/13/2019
我已经对 80 和 443 端口进行了更改,但仍然显示错误,我的系统中没有 skype
7赞 Shayan 10/21/2020
似乎需要编辑的第二行称为:httpd-ssl.confServerName www.example.com:4433
13赞 JDP 2/16/2015 #9

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

netstat -abno | find ":80"

使用端口 80 的任何进程都没有问题。

然后我运行命令(在cmd中)

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

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

评论

2赞 TheTechGuy 2/28/2015
完善!我为日志文件指定了错误的目录,因此它没有启动。修复该问题!
0赞 alaswer 5/12/2016
你真棒!!!!上述所有解决方案都对我不起作用,当我尝试您所做的操作时,它给了我一个关于 httpd-xampp.conf 中 SSLRequiredSSL 行的不同错误,然后我在它前面插入了 # 以禁用它。顺便说一下,每次修复后,我不得不在命令行中多次重新运行C:\xampp \apache\bin\httpd.exe,以找到另一行具有相同错误的行。
0赞 Jaden Baptista 7/11/2020
这个评论救了我很多次。这应该是正确的答案。每当我在使用XAMPP时遇到问题时,它都会在控制面板中给出相同的通用消息:“Apache意外关闭”。我只是将上面的命令按ctrl + v到终端中,然后收到一条实际的错误消息,其中包含Apache意外关闭的原因!我猜 XAMPP 开发人员只是从未理解详细错误消息的价值。再次感谢@JDP!
170赞 TheTechGuy 3/1/2015 #10

在 XAMPP 控制面板 V3.2.1 中,单击右上角的“NetStat”按钮。确保端口 80 未被任何其他程序使用。然后单击其正下方的“Shell”。在 shell 提示符下发出此命令;

Apache_Start.bat

或键入“ap”,然后按 TAB 键两次,这将同样生成上述命令。 您实际上会看到Apache失败的确切错误。这很可能是虚拟主机配置问题,也可能是其他问题。它将显示发生错误的行号。只需修复该错误即可。请注意,在 RootDocument 中,尾随 \ 也可能是错误的来源。删除任何尾随的 “”。

评论

19赞 user11153 11/1/2016
这应该是最佳答案,因为它适用于XAMPP的任何可能错误!
0赞 mcv 9/12/2017
非常有帮助,即使我没有使用 VM,我也能够发现 DirectoryRoot 不再存在。这提醒我们,人们应该始终对项目进行评论。如果没有笔记,最简单的事情可能会浪费时间。特别是如果拿起另一个开发商留下的项目。:)
0赞 shemake 8/31/2019
需要这个。原来我的自定义目录中缺少一个日志文件。
0赞 Setz 10/18/2019
这为我修复了它,因为这是一个语法错误,因为目录拼写错误。额外的调试信息实际上应该包含在 XAMPP GUI 控制面板的白色文本字段中。
0赞 ScriptyChris 12/31/2020
@Hammad汗,非常感谢!我在日志文件中没有任何条目(甚至没有错误条目) - 只有 XAMPP 控制台中关于被阻止的端口、缺少依赖项等的通用红色错误。更换端口无济于事。通过 Shell 按钮运行此 bat 命令后,结果发现 Apache 提供的根目录无效 - 我几个月前更改了它,但当时没有运行 XAMPP 来检查它是否仍然有效,直到今天才忘记它。;)
7赞 Saurabh R S 5/30/2015 #11

原因之一可能是您没有以管理员身份运行 XAMPP 控制面板。

评论

0赞 ganji 7/9/2020
这是必须检查的第一件事!谢谢
1赞 RockBoro 3/4/2023
这应该在答案列表的顶部。
2赞 Harry 7/18/2015 #12

我解决了停止服务“Web 部署代理服务”的问题。打开:系统 -> 计算机管理 -> 服务 -> Web 部署代理服务。停止此服务并启动 XAMPP 工作。 我认为这是 MS Webmatrix 的一项服务。

(德语:Systemsteuerung -> System und Sicherheit -> Verwaltung -> Dienste -> Webbereitstellungs-Agent-Dienst )

4赞 A.Aleem11 9/25/2015 #13

就我而言,此问题是由于尝试下载bitnami的其他产品(如WordPress)引起的。当我们通过 XAMPP 安装 WordPress 时,这很常见。它被放置在可以从 XAMPP 应用程序主页访问的目录中。xampp/app

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

11赞 Pragyaditya Das 10/12/2015 #14

前段时间我遇到了同样的问题。我有一台旧笔记本电脑,几乎所有的端口都被阻塞或出现故障。我就是这样做的。

  1. 打开 XAMPP 控制面板。

  2. 单击“配置

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

  4. 搜索“80”(Do + 并找到所有这些。将其替换为 8080、4040 或 4000)。CtrlF

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

它对我来说效果很好,我希望它也能帮助你。

6赞 SithuSena 10/25/2015 #15

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

Netstat 按钮。

XAMPP homepage

这是 Netstat 文件,

Enter the image description here

首先,我为 Apache 分配了端口 8080,最近安装了 Oracle DB。TNSLSNR.exe 现在已使用 8080 端口。

因此,通过查看此文件,我们可以选择一个不与其他应用程序冲突的端口。就我而言,端口 8060 不会与任何应用程序冲突。通过选择,我们可以如上所述更改 httpd.conf 文件(XAMPP 控制面板 -> Config)。

2赞 osamakhair 2/16/2016 #16

最佳解决方案

打开 XAMPP 控制面板,单击 config for Apache,然后在文本编辑器中单击 Apache(httpd.config).now。ctrl+f -->找到“Listen 80”并将其替换为“Listen 8079”,:)引号 但现在你必须像这样使用它 http://localhost:8079/

PS,我试图更改skype的端口设置,停止我在Windows 10,cmd-->net stop http和其他方法中找不到的Web部署代理服务,但除此之外没有任何效果。

5赞 sirmagid 2/27/2016 #17
  1. 下载 新 XAMPP Apache Friends
  2. 安装它
  3. 删除所有 VPN 应用
  4. 打开文件夹 XAMPP 运行setup_xampp.bat
  5. 运行 xampp-control.exe

评论

0赞 Devang Solanki 2/21/2018
我已经遵循了第 4 点,运行setup_xampp.bat并启动了服务(第 5 点),一切正常。
25赞 Kunal Kumar 5/11/2016 #18

如果您使用的是 Windows 7 .在 Windows 搜索中搜索 IIS(单击左下角的“窗口”图标,然后在显示“搜索程序和文件”的位置键入)。

打开 IIS(Internet 信息服务)。

在右侧的操作面板中。单击“停止”。

注意:停止链接在屏幕截图中淡入淡出。因为我阻止了它。IIS Screenshot问题解决了!

评论

2赞 escalator 6/17/2016
在 Windows 10 上找不到要执行的 IIS,然后我卸载了 IIS,最终解决了它。Control Panel > Programs > Programs and Features > Windows Components
0赞 Kunal Kumar 2/21/2017
@escalator好吧,我已经明确提到“如果您使用的是 Windows 7” .
1赞 OuzoPower 9/18/2019
谢谢。就像一个魅力,在尝试了其他几个提到的技巧失败后,为我解决了这个问题。从提升的命令提示符也正常工作,但有副作用使打印机不可用。net stop http
2赞 Gundark 6/19/2016 #19

我有与 OP 完全相同的错误消息,但我的问题没有被任何现有答案解决。许多答案都涉及端口 80 上的冲突,我知道我没有,因为我最近在端口 80 上有 localhost 响应。

事实证明,当我打算更改 DocumentRoot 时,我无意中更改了 ServerRoot(愚蠢的,我知道),尽管存在新的 ServerRoot 目录,但它不包含 apache 所需的配置文件和其他内容,这导致它在启动时失败。错误消息可能通过“缺少依赖项”的措辞来解决这种情况。

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

2赞 Mohamed Seif 12/28/2016 #20

默认情况下,Apache 服务器在端口 80、443 上运行。您的问题是两个端口中的一个或两个都繁忙。通常,Skype 或 VMware Workstation 使用这两个端口。因此,请确保它们没有运行。确保端口在 Windows 上空闲的最佳方法是:

  • 单击窗口按钮。

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

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

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

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

  • 使用 PID 从 CMD 终止进程,键入 ,其中 26356 是 PID。Taskkill /PID 26356 /F

2赞 Vatsal Jagani 3/6/2017 #21

Windows用户的最佳解决方案是:

  1. 打开 netstat(来自 XAMPP 控制面板)
  2. 查找使用端口 80 的进程的 PID。
  3. 使用管理打开 CMD。
  4. 运行(而不是 PID 使用从 netstat 找到的 pid u)
    嘿,享受你完成.....
    taskkill /pid PID
4赞 Avatar 4/26/2017 #22
  1. 首先确保您的文件夹位于根目录中!这很重要,因为路径是相对的。\xampp

  2. 然后,请确保使用管理员权限运行。xampp_control.exe

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

其中应设置:\xampp\xampp-control.ini

[ServicePorts]
Apache=8080
ApacheSSL=4433

查找并设置:\xampp\apache\conf\httpd.conf

Listen 8080

ServerName localhost:8080

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

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

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

16赞 Loreto Gabawa Jr. 8/29/2017 #23

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

我做了之前的所有答案,但它没有解决我的问题。我发现运行xampp_start.exe会为您提供有关该问题的详细信息。

这是我看到的:

xampp_start

如您所见,我遇到了路径问题或 xampp 指向不存在的文件夹。

评论

0赞 Ali Azhar 11/26/2019
这是救命稻草。我的SSL和日志文件路径无效。这帮助我纠正了它,它现在正在工作。
0赞 Haider Ali J Al-Rustem 2/26/2021
这使我能够解决我的问题,这是一个错误的目录
4赞 Kingston Fortune 1/24/2019 #24

2023 年更新:

我找到了一种更快/更快的方法来解决这个问题,而无需查看一长串服务和端口,您可以使用它。

netstat -ano | findstr <Port Number>
taskkill /F /PID <Process Id>

请务必更改:

  • <Port Number>到端口,您需要 8080 或 443。
  • <Process Id>到使用端口的服务或应用的 PID。

2019年原帖:

我刚刚在我的 xampp v3.2.2 [win 10 pro x64] 上遇到了这个错误,

我首先尝试在管理员 cmd 中运行“net stop http”命令,但它没有解决问题,所以我继续尝试“netstat -abno”命令,我发现 vmware 正在使用 ssl 端口(443)。

因此,我的建议是,不要只寻找阻塞端口 80 的东西,还要寻找使用端口 443 的潜在程序。因为我真的不喜欢将默认端口号更改为 8081 和 4433。

所以这就是解决这个问题的方法......

首先键入以下命令

net stop http

然后尝试启动 Apache,如果它仍然不起作用。键入以下命令

netstat -abno

而且你肯定会得到那个麻烦的应用程序,它正在占用你宝贵的端口。

复制 PID,然后使用以下命令

taskkill /f /pid PID

其中 PID 是您复制的 pid。

希望这对某人有所帮助。

32赞 SreeniH 3/28/2019 #25

这对我有用......

如果您使用的是 Windows...

在 Windows 搜索栏中搜索“cmd”。

输入以下内容:C:\xampp\apache\bin\httpd.exe

查找发生错误的文件和行。

例如,我的在下面的文件中 在第 37 行。

httpd-multilang-errordoc.conf (英语)

打开代码并通过删除或修复该行来修复错误。

做!我现在应该工作了。

:)

评论

0赞 Emtiaz Zahid 8/24/2019
谢谢。它奏效了。我的 vhost 配置文件中有语法错误
0赞 Andrei 1/21/2021
在我的情况下,错误日志文件是空的。使用这种方法,我找到了问题所在。完善。
0赞 Brendan 3/25/2021
谢谢伙计。对我来说,这是httpd-vhost.conf中的这一行 - 错误日志“logs/example-app/-error.log”。当我评论它时,瞧!
0赞 yourivdloo 2/10/2023
谢谢,这给了我一个确切的错误日志,记录了我在 httpd-vhosts 文件中确切屠杀的内容
0赞 Ali Samie 2/19/2023
对我来说,这向我显示了这个错误:无法将 C:/xampp/php/php7ts.dll 加载到服务器中:找不到指定的模块。
4赞 Patrick S 8/29/2019 #26

就我而言,端口已被Windows IIS服务使用。 您可以从 cmd 检查端口是否已被使用。打开 cmd 并运行以下命令:

netstat -ano

如果 IIS 正在使用它,您可以通过以下命令停止它。以管理员身份打开 cmd,然后:

iisreset /stop

现在尝试运行 XAMPP,它应该可以工作。

4赞 mfkocak 6/17/2020 #27

您可以从 XAMPP 目录运行apache_start.bat文件以查看有关错误详细信息的详细信息。

评论

0赞 Manic Depression 7/8/2020
谢谢,它有帮助。我在 http-vhosts.conf 文件中有一个错误。
6赞 Herker 2/22/2021 #28

尝试以下方法,以上都没有为我解决

  1. 选择Run as administrator

enter image description here

  1. 然后单击Apache旁边的左侧大框

  2. 选择卸载 Apache

enter image description here

7赞 Lightwaxx 4/12/2021 #29

有时,问题不是端口问题,而可能是由于您执行的错误配置,并且 Apache 未在 Windows 的事件查看器上记录错误。要解决这个问题,只需

cd C:\xampp\apache\bin

然后运行

httpd.exe

然后,Apache将为您吐出错误,如下所示

AH00526: Syntax error on line 2 of C:/xampp/apache/conf/httpd.conf: Invalid command 'This', perhaps misspelled or defined by a module not included in the server configuration

我希望这能帮助一些可怜的灵魂:)

5赞 Abdullah Juma 5/30/2022 #30

第 1 步:在 Apache 中转到 Config,然后选择 Apache(httpd.conf)

在记事本中,找到 Listen 80 并添加另一个 80 以将端口更改为 Listen 8080

确保在关闭记事本之前保存。

第 2 步:在 Apache 中转到配置选择 Apache(httpd-ssl.conf)

在记事本中,找到 Listen 443 并在 443 后再添加 3,将端口更改为 Listen 4433

然后搜索 VirtualHost default:443 并添加另外 3 个以将端口更改为 VirtualHost default:4433

确保在关闭记事本之前保存。

(注意:这里有一个类似的答案,但在我喜欢 YT 上的视频之前,它对我不起作用)