首页 文章

XAMPP,Apache - 错误:Apache意外关闭

提问于
浏览
279

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

我该如何解决这个问题?

30 回答

  • 78

    打开Skype .

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

    禁用“ Use port 80 and 443 for alternatives for incoming connections

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

  • 1

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

    因此,如果您遇到此错误,则可能是因为httpd-vhosts或任何其他文件 .

    尝试通过cmd执行程序,您将获得错误详细信息以及语法错误的行 .

    祝你好运

  • 6

    在XAMPP控制面板V3.2.1中,单击右上角的“NetStat”按钮 . 确保任何其他程序不使用端口80 . 然后点击它下方的“Shell” . 发出此命令“键入ap然后选择TAB两次”

    Apache_Start.bat

    您实际上会看到Apache失败的确切错误 . 它很可能是虚拟主机配置问题,也可能是其他问题 . 它将显示发生错误的行号 . 只需修复该错误 . 请注意,在RootDocument中,尾随\也可能是错误的来源 . 删除任何尾随的“\” .

    有关详细解答,check here

  • 2

    对我来说,当我在Windows 8计算机上托管VPN连接时,这个问题就开始了 .

    Simply deleting the connection from "Control Panel\Network and Internet\Network Connections" solved the problem.

  • 2

    在我的情况下,这发生在安装sql server之后,解决方案如本答案中所述

    Xampp - Can't start Apache after install SQL Server and Visual Studio

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

  • 2

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

    打开 IIS (Internet Information Service) .

    在动作面板的右侧 . 单击停止 .

    注意:屏幕截图中的停止链接已淡出 . 因为我已经停止了 .
    IIS Screenshot
    问题解决了!

  • 580
    • 下载新的xampp apachefriends

    • 安装它

    • 删除所有VPN应用

    • 打开文件夹XAMPP运行setup_xampp.bat

    • 运行xampp-control.exe

  • 23

    发生此错误的原因是为其他程序使用为Apache分配的端口 . 要检查使用我们为Apache分配的端口的应用程序,可以单击,

    Netstat 按钮 .

    XAMPP homepage

    这是Netstat文件,

    Enter the image description here

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

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

  • 8

    我有时会遇到同样的问题 . 我有一台旧笔记本电脑,几乎所有端口都被堵塞或发生故障 . 这就是我做到的 .

    • 打开XAMPP控制面板 .

    • 点击 Config

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

    • 搜索 "80" (按Ctrl F并找到所有这些 . 将其替换为 8080 or 4040 or 4000 ) .

    • 保存文件 . 然后重启XAMPP .

    它对我很有用,我希望它对你也有帮助 .

  • 4

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

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

    工具>连接选项>连接

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

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

    编辑>首选项>共享Vms

    • 单击"Change Settings"但是

    • 然后点击"Disable Sharing"

    • 然后更改正在使用的https端口号(443)

    • 然后您可以单击"Enable Sharing"按钮

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

  • 2

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

    例如,'原始'httpd.conf具有以下条目:

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

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

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

    当我在开发人员面临防火墙问题的企业环境中工作时,其他任何答案都没有解决我的问题 .

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

    Step 1 - 在XAMPP控制面板的Apache下,单击Config按钮,然后选择Apache(httpd.conf) .

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

    Listen 80
    

    并将80更改为您想要的任何数字/端口 . 在我的场景中,我使用端口8080 .

    Listen 8080
    

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

    ServerName localhost:80
    

    将80更改为8080 .

    ServerName localhost:8080
    

    Step 2 - 在XAMPP控制面板的Apache下,再次单击Config按钮,但这次选择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服务 .

  • 5

    我通过停止服务"Web Deployment Agent Service"解决了这个问题 . 打开:系统 - >计算机管理 - >服务 - > Web部署代理服务 . 停止此服务并启动XAMPP工作 . 我认为这是MS Webmatrix的服务 .

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

  • 14

    我有同样的问题,结果我忘了运行 setup_xampp.bat (便携版) .

  • 15

    最佳方案

    打开XAMPP控制面板,单击Apache的配置,然后在文本编辑器中单击Apache(httpd.config).now . ctrl f - > find "Listen 80"并将其替换为"Listen 8079",而不是引用:)但是现在你必须像这样使用http://localhost:8079/

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

  • 2
    • 首先确保你的 \xampp 文件夹在根目录中!这很重要,因为路径是相对的 .

    • 然后确保使用管理员权限运行 xampp_control.exe .

    • 然后更改以下文件以避免阻塞端口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 . 它应该运行!

  • 1

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

    单击“Windows”按钮 . 在搜索栏中键入resmon,打开资源监视器resmon.exe . 打开侦听端口,这将显示已打开的已用端口 . 现在您可以看到哪个进程正在使用端口80和443.然后,您可以使用其PID(显示在资源监视器中)或直接从任务管理器终止CMD进程 . 使用PID类型Taskkill / PID 26356 / F从CMD中终止进程,其中26356是PID .

  • 1

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

    net stop http
    

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

  • 8

    似乎没有人回答有关执行xampp_start.exe的问题 .

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

    这是我在我看来:

    xampp_start

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

  • 7

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

    netstat -abno | find ":80"
    

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

    然后我跑了命令(在cmd)

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

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

  • 5

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

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

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

  • 3

    首先,您应该验证httpd-vhosts文件中没有多余的虚拟主机 . 我的意思是遵循简单的规则:1个项目=配置文件中的1个虚拟主机 . 否则,即使您要更改端口等,也会遇到错误 .

  • 2

    我有同样的问题(在Windows 8.1上),但我修复它只是通过提取到 C:\ 而不是 C:\somefolder ,就像我最初做的那样 . 因此,控制面板的路径,例如,现在 C:\xampp\xampp-control.exe

  • 2

    您可以做的一件事是通过发布来停止端口80上的服务

    net stop http
    

    在一个cmd . 系统会询问您是否确定要停止这些服务 . 我发现我有一些我没有使用过的服务禁用他们 .

    要查看其他人在cmd中使用端口80类型

    netstat -abno
    

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

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

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

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

    相关:How do I free my port 80 on localhost Windows?Apache won't run in xampp

  • 2

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

    • Open netstat(来自XAMPP CONTROL PANEL)

    • 查找使用端口80的进程的PID .

    • 使用Administrative打开CMD .

    • 运行 taskkill /pid PID (而不是PID使用从netstat找到的pid u)
      Heyy享受你完成.....

  • 1

    由于默认端口80因Apache而被阻止 . 您需要更改端口或使端口可访问 .

    转到Apache安装中的 Apache configuration (httpd.conf) 文件 .

    找到这些行:

    Listen 192.168.1.2:80

    Listen 80

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

    改变如下

    Listen 192.168.1.2:8081

    Listen 8081

    现在,当您访问localhost时,您必须将该端口显式添加为http://localhost:8081/ ...

  • 1

    跟着这些步骤:

    • 打开XAMPP控制面板,然后单击其"Config"

    • 选择“Apache(httpd.conf)”并在下面找到此代码并将其更改为以下代码:

    #Change this to Listen on specific IP address,如下所示#,以防止Apache冒成所有绑定的IP地址 . #Listen 0.0.0.0:80 #Listen [::]:80

    Listen 80

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

    • 保存(Ctrl S)

    • 之后,返回XAMPP控制面板并再次单击其配置 .

    • 选择"Apache (httpd-ssl.conf)",在下面找到此代码,然后重新更改:

    #注意:使用IPv6而不是IPv4映射地址的配置需要两个#Listen指令:“Listen [::]:443”和“Listen 0.0.0.0:443”## Listen0.0.0.0:443 #Listen [: :]:443

    Listen 443

    • 保存(Ctrl S)

    • 然后,单击"config"(注意:在netstat上方)并单击"service and port settings" .

    • 将"Main Port"更改为8080并将"SSL Port"更改为4433,然后保存 .

    • 最后,转到"control panel" - > "Programs & Features" - > "Turn Windows On or Off" .

    • 取消选中"Internet Information Services",然后单击“确定” .

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

  • 45

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

    作为解决方案,我从 xampp 目录中删除了默认安装的WordPress,并通过下载并将zip文件解压缩到 htdoc 文件夹中,在WordPress的 htdocs 文件夹中手动安装了WordPress . You also need to restart XAMPP or may system after uninstalling/removing the default WordPress . 现在一切都好了 .

  • 31

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

  • 402

    请注意,每当您更改默认端口时,您的浏览器都不会知道 . 80443 似乎在某种程度上是标准的,例如,如果您将 80 更改为 8080 ,则必须以这种方式访问您的网站:

    localhost:8080/path_to_your_website.php

相关问题