2013-07-30 192 views
57

我在Windows上安装了XAMPP(xampp-win32-1.8.2-0-VC9-installer.exe) 7成功。但不幸的是,从XAMPP控制面板运行的Apache中发现以下错误:Apache未从XAMPP控制面板运行(错误:Apache意外关机,这可能是由于端口被阻止)

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

Error on running Apache at XAMPP Controm Panel

+1

最可能的是,默认的80端口被其它应用程序 –

+1

注意占领,控制面板不一定能给出这些细节,它可能只是说“阿帕奇startet [端口80]“,而不是实际启动服务器。虽然解决方法是相同的。 – PeerBr

+0

大多数情况下是因为Skype,向下滚动看到我的安装程序 – vanduc1102

回答

62

有这个问题很多可能的答案。最常见和最有可能的情况是,您正在运行阻止端口80或443的另一个程序。如果您已安装Skype,那么您已经发现了您的问题!将apache的端口设置更改为81,并且apache将工作。有一个很好的教程上说要检查这一点,你可以通过点击开始菜单,键入“在cmd”打开命令行,输入命令

netstat -nab 

此西港岛线返回,将隐约类似的程序列表这种模式

[someprogram.exe] 
    UDP  [fe80::numbers:numbers:numbers:numbers%numbers]:portnumber 

你需要找到一个行(或线)在结束:80,为了启动Apache终止它们。如果没有以80结尾的行,则可以做更多事情。

首先,导航到xampp的目录(默认是c:\ xampp)并双击apache_start.bat。这将打开一个命令行并返回关于apache无法运行的更详细的错误。大多数情况下,通过编辑httpd.conf或httpd-ssl.conf文件来查找可能已经创建的语法错误。如果你编辑它并且是一个新用户,这很容易做到。

如果仍然失败,最后的希望是通过单击xampp控制面板中apache行的日志选项卡并单击错误日志来检查apache错误日志。

如果这些都不起作用,请不要放弃!你有这个!

编辑:如果更改的Apache的端口,你也必须去到httpd.conf中(位于XAMPP /阿帕奇/ conf目录)和近线184,取代

ServerName localhost:80

ServerName localhost:81

也可以在本地主机的URL指定端口81,即

localhost:81/my_project.php

+3

我已将端口更改为81而不是80.当我在Skype中登录时,Apache未启动。错误是443被占用。所以我通过在Skype上登录之前运行Apache来做得很好。所以顺序是:首先运行Apache然后登录到Skype –

+1

当我启动Apache时,它运行如下:PID(s):5316&5340端口:81,443 –

+3

我已修改行Listen 443 as Listen 444 on httpd- ssl.conf文件。所以即使在登录Skype时,Apache也在运行。所以Apache在81,444端口运行。不错......再次感谢提姆迈。 –

5

你执行了“setup_xampp.bat”脚本吗?它位于XAMPP文件夹内,每次更改XAMPP文件夹时都必须执行它。

7

检查您的计算机上是否安装了Skype。

登录并点击工具 - 选项 - 高级 - 连接,并取消它说使用端口80

盒子 -

检查Apache服务已经由运行命令发射了SERVICES.MSC安装提示。

如何删除从命令提示符服务? SC删除“服务名”

记住服务名应该由Apache服务的确切名称来代替如图所示的服务列表。

检查IIS正在运行,并且占用了80端口。如果是这样,禁用它。

-

检查AVP(卡巴斯基)正在运行,并且占用了80端口 如果这样加httpd.exe作为例外允许的程序。

-

希望它能帮助。

+1

谢谢,这使我的一天和*愚蠢的Skype * –

10

伴随Timmay的答案,你需要做两changes-

听80 - > 81听(近58行)

服务器名本地主机:80 - >服务器名本地主机:81(近线218)

0

我有一个解决方案。我遇到了这个问题并研究了一个解决方案,但是我没有成功。所以我下载了更新版本的XAMPP,并在程序中点击了netstats选项。
在那里,他给了我的计划,他们使用的,所以我看了看,不得不使用端口80没有程序的端口的列表,但除此之外80阿帕奇也使用端口443 ...并有一个叫潘多媒体博士德这扇门计划,我启动了任务管理器并完成了潘多普通票的过程。希望它帮助:)。

8

只是改变2线

Listen 80 
to 
Listen 81 

ServerName localhost:80 
to 
ServerName localhost:81 

,并开始使用xampp/apache/conf/httpd.conf管理员权限

+1

我也有运行Apache服务器的问题。我改变了端口号,但它没有working.plz帮我。 – SrividhyaShama

+0

更改端口重新启动电脑后再试一次或用82或83等替换端口81 –

27

1.去开门。
httpd.conf文件在line 176更换

ServerName localhost:80
with
ServerName localhost:81
It will work.

或者2.即使上述程序不起作用。然后在线相同的文件(httpd.conf)45取代

#Listen 0.0.0.0:80 
    #Listen [::]:80 
    Listen 80 

#Listen 0.0.0.0:81 
    #Listen [::]:81 
    Listen 81 
+0

另外,我检查了Apache和MySQL,我不应该这样做,因为Windows已经拥有了它们。我没有选中他们,一切都很好。谢谢。 – timmyt123

14

我发现,(在我的情况的Windows 7)在Windows下的XAMPP控制面板不反映什么是真正的继续,除非你以“以管理员身份运行”启动它。

+0

这也是我在Windows 10上的问题 –

+0

以管理员身份运行它为我提供了解决问题所需的信息。谢谢。 – Slicktrick

-7

萨拉姆,

您不需要更改端口号。

只能到任务管理器&结束任务正在运行的任何其他程序。

,然后你能启动Apache .......

真诚,

+1

终止每一个程序似乎是过度杀伤。 – EWit

+0

感谢您的回答。但我不想关闭其他一些程序。 –

3

我发现我的系统上,类似的问题,那就是从Skype的安装安装XAMPP之前。我有类似的错误。用于固定我跟着这些错误,

  1. 注销对Skype一会儿,
  2. 重新开始从XAMPP控制面板的Apache,
  3. 检查上的浏览器,不管它的工作与否,通过http://localhost/
  4. 得到了它的工作,
  5. 再次登录到Skype的
  6. 所有工作的伟大,就这么简单

我不需要任何东西来安装或卸载,并在不到1分钟内为我工作。

欢呼声

+0

是的,它应该工作。 Skype XAMPP正在使用的端口也尝试使用相同的端口。所以,当你注销Skype时,问题就不会发生 –

6

我已经安装了VMWare工作站。所以,这是导致错误。

Services.msc and stopped the 'Workstation' Services. 

这解决了我的问题。

谢谢

1

如果您安装了SQL Express或任何.Net服务器,则需要停止。 打开cmd在管理员模式并输入该行...

网站是

现在启动Apache

1

如果您在Windows完整的全新安装后直接面对这个问题

看起来安装程序已经启动了http.exe进程并阻止了初始端口80,但并未在控制面板中反映此状态。

要验证,只需在浏览器中测试运行的服务器即可。输入到您的浏览器地址栏中:

localhost

如果显示XAMPP仪表板,则表示您没有问题。 或者,检查任务管理器以查看正在运行的“Apache HTTP Server”(httpd.exe)进程。

您可以使用xampp base文件夹中的xampp_stop.exe来停止apache进程。然后,XAMPP控制面板应按预期工作。

-1

我也面临同样的问题。我找到了一个简单快捷的解决方案。

您需要做的唯一事情是每次都以管理员身份运行XAMPP服务器。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

6

如果您安装Skype,请选中该选项。

enter image description here

另一种情况是在Windows 10

检查:

  1. 转到开始,在服务窗口 找到世界型SERVICES.MSC
  2. 向下滚动Wide Web Publishing服务。
  3. 右键点击它,然后选择停止或禁用它,如果你只是想使用XAMPP。

enter image description here

0

也许你更改配置文件中包含 “httpd-ssl.conf中”

<VirtualHost _default_:443> 
DocumentRoot "D:/Server/xServer" 
ServerName xyz.abc.com 
SSLCertificateFile "conf/ssl.crt/xyz.crt" 
SSLCertificateKeyFile "conf/ssl.key/sftaps.in.key" 
</VirtualHost> 

可能是你在Apache的文件夹更改证书名称什么的。

0

可以有很多方法来解决这个问题,但这里是最简单的一个:

去XAMPP控制和...

Run as administrator

这一切..

这是任何此类异常的金点。工作

背后

概念实际上在XAMPP所有的服务都需要端口依赖。 会发生什么事情,当没有给xampp特殊的权力时,它只会寻找一些预定义的端口来运行这些服务。而且,如果这样的话,那些端口已经很忙了...... eek!该服务无法启动。

但是,如果我们给予我们的Xampp控件(通过以管理员身份运行)超级大国,它将以某种方式管理,并且当然在地球上将运行端口上的服务。胜利!你做到了。

常驻尖为我亲爱的兄弟姐妹们

做的努力之一,并为所有,请按照下列步骤操作:

  • 上XAMPP控制右键单击。exe文件并转到属性。
  • 转至兼容性 Tab。
  • 在以下设置中,选中复选框以管理员的身份运行此程序。
  • 应用更改。你完成了。

现在,每次运行应用程序时,它都将以管理员状态运行,您根本无需关心端口。

1

$$$$$$$$这样做$$$$$$$$$

其他方法上面解释将让你停留在很多地方 不要去的最佳途径用于改变端口

2步过程

1)打开命令提示作为管理员

2)类型“净停止HTTP”(如果说,它不识别关键字,则它只是因为您的环境变量的PATH不包含程序Fi的路径你可以搜索如何操作) 按Y在它要求你的每个地方,不要担心你没有停止任何重要的过程,只是一些你的端口的过程。一旦你不工作,该进程将再次接管你的端口。

享受!

0

即使你已经配置Apache监听其他端口上,如果其它程序正在使用默认的SSL端口443

什么,你还需要编辑是HTTP,SSL,你仍然会得到这个错误。 conf文件并更改行号 收听443并在那里更改端口号。

3

在我的情况下,问题是,这两个端口80和443是在使用中: 步骤用来解决这个问题是:

  1. 打开XAMPP并点击配置按钮
  2. 现在点击(Appache )httpd.conf(在记事本或其他编辑器中打开)
  3. 现在点击ctrl + h
  4. 查找808080
  5. 现在保存取代现在点击Appache(的httpd-ssl.conf中)。
  6. 现在找到443并替换为4430
  7. 现在你的xampp必须正常工作,因为这些代码都不会被系统上的其他程序使用。

现在你的本地主机将作为localhost:8080