XAMPP:无法启动Apache(Windows 10)

时间:2014-12-06 15:29:45

标签: php apache xampp

我正在使用XAMPP,我可以启动Apache,但是,MySQL(PhpMyAdmin)启动了!

当我开始时,我收到此错误;

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

我搜索它,然后在Config中更改Apache的端口 - >服务和端口设置。我有;

Service name : Apache2.4
Main Port : 122
SSL port : 444

我也卸载了Skype(Windows 8/10 / Metro版本)。没什么可行的。在httpd.conf中我有;

Listen 122
ServerName localhost:122

我通过apache_start.bat启动它并获取;

(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

请注意,并不是所有的LOGS文件都不存在! 已卸载Skype。

如果您需要更多信息,请问我。

24 个答案:

答案 0 :(得分:213)

更新:2018年5月15日:

最新的Windows 10更新(重新)激活了万维网发布服务(德语: WWW-Publishingdienst )。这可能取决于您在配置之后可以选择的选项。

更新:2015年8月4日:

如果您已完成Windows 10的全新安装,则可能没有 Word Wide Web发布服务。在这种情况下,简单的WAMP / XAMPP安装应该可以正常工作。

如果没有,请尝试安装 Visual C++ Redistributable ,然后重新安装WAMP / XAMPP。


我遇到了与WAMP类似的问题。在Windows 10 TP中,预先安装了 Word Wide Web Publishing服务。这与IIS有关,如果您不需要它,可以将其删除。

这会阻塞端口80,使Apache行为奇怪。您可以执行以下操作并重试。

  • 转到“开始”,输入 services.msc
  • 在“服务”窗口中向下滚动以查找万维网发布服务
  • 右键单击它并选择停止

这应该使端口 80 免费并重新启动WAMP / XAMPP应该让你运行起来!

还有其他方法可以解决这个问题。 http://praveenpuglia.com/make-wamp-work-on-windows-10-technical-preview/

答案 1 :(得分:35)

解决这个问题很简单:

  1. 使用管理员权限打开命令提示符
    • 查找" cmd",右键单击它,然后选择"管理员"。
  2. 在提示中,键入net stop W3SVC并输入。
  3. 您现在可以单击WAMPP并重新启动所有服务。打开浏览器并导航到" localhost"。

    如果您需要再次启动W3SVC,

    1. 使用管理员权限打开命令提示符
    2. 在提示中,键入net start W3SVC并输入。

答案 2 :(得分:16)

我找到了解决这个问题的方法:

  1. 如果您也使用Skype,请取消选中表示使用端口80和443的字段(额外 - >设置 - >高级 - >连接 - >取消选中端口80和443)
  2. 重启Skype和XAMPP。
  3. 如果这不起作用,

    1. 转到“开始”,然后键入" services.msc"
    2. 找到"万维网发布服务"
    3. 右键单击该条目,选择"停止",然后重新启动XAMPP。
    4. 如果这不起作用,并且"万维网发布服务"没有,

      1. 转到控制面板,导航到"卸载程序",然后"打开/关闭Windows功能"
      2. 找到"互联网信息服务"
      3. 点击复选框,然后按"确定"。
      4. 重启,然后重复第二种方法(services.msc)

答案 3 :(得分:11)

您可以更改apache的端口:

  1. 转到C:\ xampp \ apache \ conf \ httpd。
  2. 通过组合查找Ctrl + F line #Listen 12.34.56.78:80并将80更改为任何您喜欢的例如81
  3. 与Listen 80相同,改为81
  4. 与ServerName localhost相同:80更改为81。
  5. 转到C:\ xampp \ apache \ conf \ extra \ httpd-vhosts并将80更改为81
  6. NameVirtualHost *:80这里

    VirtualHost *:80和此处(两次)

    1. 重启apache
    2. 要输入您的网页类型:http://localhost:81/index.html

答案 4 :(得分:5)

1。 Windows + R ,输入regedit

2。转到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

Start的值更改为4,表示已禁用。

3. 重新启动计算机

答案 5 :(得分:4)

我已经解决了这个问题,但我要做的就是改变一些事情。我要求在我的Win10机器上保留我的C#和VS开发环境,所以我不想修改任何服务。我所要做的就是下载最新版本的XAMPP并更改80和443的监听端口。它们位于2个文件中:

C:\xampp\apache\conf\httpd.conf

Listen 122
ServerName localhost:122

C:\xampp\apache\conf\extra\httpd-ssl.conf

Listen 444

从端口80更改为122和443到444允许我运行apache并提供页面服务,同时保持其他所有内容与我的ASP开发相同。希望这有助于那里的人。最后,这是一个非常简单的修复。

将您的浏览器定位到:http://localhost:122

答案 6 :(得分:4)

我尝试了答案中列出的所有内容,但没有一个有效。

然后,我所做的就是通过以下方式重新启动XAMPP管理员权限:

  

开始菜单 - 右键单击​​XAMPP - 选择以administartor运行

有效。就这么简单。

我卸载了IIS服务,停止了WWW服务,将端口更改回80,阻止了来自Windows 10防火墙的所有apache和mysql连接,但是它仍然有效!

答案 7 :(得分:2)

看起来有很多选择,它取决于你的窗户。以下是我在Windows 10全新安装中遇到相同问题的经验,并通过以下步骤解决问题:

  1. 安装Visual C++ Redistributable
  2. 打开XAMPP并在apache服务中选择配置
  3. Listen 80
  4. 上将端口80更改为9000或81或httpd.conf中的任何内容
  5. 更改httpd-ssl.conf上的端口并将Listen 443更改为Listen 441
  6. 重新启动XAMPP并启动apache服务,它对我有用。
  7. 注意:我使用XAMPP版本5.6.15和XAMPP控制面板版本3.2.2

答案 8 :(得分:1)

所以在玩完之后你真正需要做的就是改变httpd.conf文件中的2行,

  

听80改为听122(或你想要的任何其他东西)

  

ServerName Localhost:80到Localhost:122(或您在上面更改的端口)

然后一切都应该向上发射:P

<击> 老实说,我认为这只是xampp应用程序不知道如何处理Windows 10,如果你使用xampp窗口中的事件列表,我说

  

5:56:38 AM [Apache]检测到问题!

     

5:56:38 AM [Apache]使用PID 4“无法打开进程”使用端口80!

     

5:56:38 AM [Apache]如果没有配置好的端口,Apache将无法启动!

     

上午5:56:38 [Apache]您需要卸载/禁用/重新配置阻止应用程序

     

上午5:56:38 [Apache]或重新配置Apache和控制面板以侦听不同的端口

     

上午5:56:38 [Apache]试图启动Apache应用程序......

并且如果你打开net stat它显示端口80,其中PID 4被系统使用,不确定,因为我不再拥有Windows 7但是如果在7上不相同则存在问题。

我认为这是问题的另一个原因是,因为PID是4而在查看net stat系统是唯一的PID 4并且它使用更多然后端口80。

很遗憾我不认为在Apache Friends更新软件之前可以做任何事情,或者有人找到了解决方法

答案 9 :(得分:1)

在我的情况下,这是一个删除IIS的简单案例,因为Windows 10预装了IIS - 与XAMPP冲突,因为这两个服务器都尝试使用端口80.如果你不想使用IIS并继续使用XAMPP < / p>

  1. 转到windows10中运行/搜索
  2. 搜索&#39; optionalfeatures&#39;
  3. 在该列表中取消选中Internet信息服务(IIS)
  4. 然后重启

答案 10 :(得分:1)

  • 转到“开始”,键入打开或关闭Windows功能
  • 取消选中互联网信息服务
  • 按OK

答案 11 :(得分:1)

在您安装了SQL Server之后,它的某些服务可能会阻塞XAMPP所需的端口。我通过禁用SQL Server Reporting Services解决了我的问题,现在Apache启动没有问题。

只需打开services.msc,向下滚动查找SQL Server Reporting Services,右键单击它,然后点击停止。

答案 12 :(得分:0)

enter image description here

通过以下方法更改系统中可用的端口号

1。首先打开Apache“ httpd.conf”文件:

#Listen 12.34.56.78:80
Listen 80
ServerName localhost:80

#Listen 12.34.56.78:8080
Listen 8080
ServerName localhost:8080

2。打开httpd-ssl.conf:

Listen 443
<VirtualHost _default_:443>

Listen 441
<VirtualHost _default_:441>

3。按照技巧。现在,“启动” Apache,如果一切顺利,则应该启动您的Apache服务器。

答案 13 :(得分:0)

我遇到了同样的问题,并通过卸载wampserver解决了

答案 14 :(得分:0)

更新时间:2019年7月25日:您是否刚刚将Windows更新为 1903版(操作系统内部版本:18362.239) 一直在更改用户密码吗?

我做到了,并且尽管消除了所有端口冲突,但在本文开头,我仍然不断收到OP描述的消息。

最后,我通过将XAMPP升级到7.3.7来治愈它。 (当被迫重新安装时,最好同时升级!)

但是当我再次去更改“ root”用户密码时,问题再次出现。

控制台错误消息掩盖了表 mysql.user 已损坏的事实。

检查 mysql_error.log 。如果看到致命错误:无法打开和锁定特权表:表'user'的索引已损坏;尝试修复,然后看看enter image description here

答案 15 :(得分:0)

检查您的PHP安装是否正常,检查您正在apache的conf中运行哪个php.ini,然后使用它来运行php.exe ...

答案 16 :(得分:0)

我遇到了同样的问题,但是上述解决方案导致我们更改端口而不是获得确切的解决方案。我搜索了简单的HTTP和HTTPS协议的端口,并发现

如果另一个应用程序已经在本地计算机上运行http或https端口,则显然由于这些端口已在使用且处于繁忙状态,我们会遇到此问题

这就是为什么在更改端口号后它仍在工作。 但是,我没有更改XAMPP服务器中的端口,而是使用了以下方法,并且对我有用。

这是在修复过程中要执行的以下步骤。

  
      
  1. 我在XAMPP Server应用程序中遇到的错误。
  2.   

XAMPP Server Error

  
      
  1. 在左上角有一个名为 Netstat 的按钮。   查找系统上正在运行的端口非常有用。
  2.   

Netstat button

  
      
  1. 这是Netstat应用程序,在其中我发现一个应用程序已经在运行并且正在使用端口号。 443.就我而言,它是 vmware-hostd.exe 。您的应用程序可能不同。尝试搜索端口80(HTTP)或端口443(HTTPS)。
  2.   

Netstat application opened

  
      
  1. 我刚刚打开Windows任务管理器,选择了该应用程序 vmware-hostd.exe   并使用结束进程按钮取消该进程。我已经杀死了使用端口443的进程。目前不需要此应用程序。
  2.   

Opened task manager and kill that application

  
      
  1. 在Windows任务管理器中终止应用程序后,Apache现在可以使用了。这是证据。
  2.   

Apache working


注意: 如果发现任何使用了 http https 端口的应用程序,则表示端口 80 或端口 443 ,并且该应用程序不重要或不重要,则只能终止该应用程序的进程。否则,无需执行此步骤。然后,您需要考虑按照上述答案所述更改XAMMP应用程序的端口。

答案 17 :(得分:0)

步骤: 打开XAMMP控制面板, 打开Apache Config,然后选择Apache-xammp- config文件 搜索端口443,然后将其更改为其他端口,例如4433

然后重新启动。

答案 18 :(得分:0)

万维网发布服务并不是我个案中唯一负责的服务。 我安装了IIS,所以我不得不停止整个http服务。

这是我在CMD中执行的命令(作为管理员):

net stop W3SVC
net stop http

答案 19 :(得分:0)

我发现运行apache_start给了我确切的错误以及它在哪一行。我的错误是我在loccalhost:和端口之间留下了空格

答案 20 :(得分:0)

我已经尝试了以上所有解决方案。但它没有任何作用。

最后,我已卸载 XAMPP 再次安装。然后它对我有用。

现在我可以在任何端口(包括80)上运行服务器

答案 21 :(得分:0)

这对我来说很简单! 尝试以管理员身份运行XAMPP控制面板

答案 22 :(得分:0)

只需将端口80用于Apache服务即可 我解决问题的方法是

  1. 在Windows 10上,右键单击开始按钮,然后选择run
  2. 输入services.mscclick OK
  3. 查找并右键点击World wide web publishing service
  4. 选择属性
  5. startup type值更改为Automatic (Delayed Start)
  6. 重新启动计算机。
  7. 你有它,一切都恢复正常了

答案 23 :(得分:0)

这些建议很棒。我有同样的问题,但我的解决方案是不同的,因为我是如此愚蠢,我已经重命名XAMPP所在的目录和sice我已经安装了很多其他程序,我无法重命名它。

在我的情况下,原始目录 C:\ Programs \ Xampp 并将其重命名为 C:\ PROGRAMS_ \ Xampp ,这是错误。

解决方法是找到 C:\ Programs 上的所有引用,并在Xampp目录中将它们重命名为 C:\ PROGRAMS _ ,因为在安装过程中由于某种原因它会写入绝对路径不现实。当然,注册表中也有一些重要的内容。

希望能帮助别人。