Apache没有从XAMPP控制面板运行(错误:Apache意外关闭。这可能是由于端口被阻塞)

时间:2013-07-30 11:44:53

标签: php apache server xampp port

我已成功在Windows 7上安装XAMPP(xampp-win32-1.8.2-0-VC9-installer.exe)。但遗憾的是,在从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

28 个答案:

答案 0 :(得分:79)

这个问题有很多可能的答案。最常见也是最可能的是你正在运行阻止端口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行中的logs选项卡并单击错误日志来检查apache错误日志。

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

编辑:如果您更改了apache的端口,您还必须进入httpd.conf(位于xampp / apache / conf中)和第184行附近,替换

ServerName localhost:80

ServerName localhost:81

也可以在localhost的url中指定端口81,即

本地主机:81 / my_project.php

答案 1 :(得分:33)

1。进入xampp/apache/conf/httpd.conf并打开它。
httpd.conf文件line 176替换

  

ServerName localhost:80   

   ServerName localhost:81   
它会起作用。

或2. 即使上述程序不起作用。然后在第45行的同一文件(httpd.conf)中替换

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

  #Listen 0.0.0.0:81
  #Listen [::]:81
  Listen 81

答案 2 :(得分:14)

我发现Windows下的XAMPP控制面板(在我的情况下是Windows 7)并不反映实际发生的情况,除非您通过“以管理员身份运行”启动它。

答案 3 :(得分:12)

伴随着Timmay的回答,你需要做两处改变 -

聆听80 - >听81(第58行附近)

ServerName localhost:80 - > ServerName localhost:81(第218行附近)

答案 4 :(得分:10)

您是否执行过“setup_xampp.bat”脚本?它在XAMPP文件夹中,每次更改XAMPP文件夹时都必须执行它。

答案 5 :(得分:9)

刚改变了2行

Listen 80
to
Listen 81

ServerName localhost:80
to
ServerName localhost:81

并开始使用管理员权限

答案 6 :(得分:8)

在我的情况下,问题是端口80和443都在使用中: 用于修复它的步骤是:

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

    的形式提供

答案 7 :(得分:6)

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

enter image description here

另一个案例是Windows 10

检查一下:

  1. 转到“开始”,键入services.msc
  2. 在“服务”窗口中向下滚动 找到万维网发布服务。
  3. 右键单击它,如果您只想使用XAMPP,请选择停止或禁用它。
  4. enter image description here

答案 8 :(得分:6)

我安装了VMWare Workstation。所以,它导致了错误。

Services.msc and stopped the 'Workstation' Services.

这解决了我的问题。

由于

答案 9 :(得分:6)

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

登录并转到“工具” - “选项” - “高级” - “连接”,然后取消选中“使用端口80

”框

-

通过从运行命令提示符启动services.msc来检查是否已安装Apache服务。

如何从命令提示符中删除服务? sc删除“serviceName”

请记住,serviceName应该替换为Apache服务的确切名称,如服务列表所示。

检查IIS是否正在运行并占用端口80.如果是,请将其禁用。

-

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

-

希望它有所帮助。

答案 10 :(得分:3)

我在我的系统上发现了类似的问题,那是在安装xampp之前安装的skype。我有类似的错误。修复错误我跟着这些,

  1. 退出skype一段时间,
  2. 从xampp控制面板重新启动apache,
  3. 通过http://localhost/
  4. 检查浏览器是否有效
  5. 搞定了,
  6. 再次登录skype,
  7. 一切都很好,就像那样简单
  8. 我不需要安装或卸载任何东西,这对我来说不到1分钟。

    欢呼声

答案 11 :(得分:1)

如果您安装了SQL Express或任何.Net Server,则需要停止。 在管理员模式下打开cmd并键入此行...

net stop

现在启动apache

答案 12 :(得分:1)

如果您在Windows上完成全新安装后直接遇到此问题

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

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

  

本地主机

如果显示XAMPP仪表板,那就没事了。 或者,检查任务管理器以查找正在运行的“Apache HTTP Server”(httpd.exe)进程。

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

答案 13 :(得分:1)

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

转到XAMPP控制并......

  

以管理员身份运行

这就是全部..

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

工作背后的概念

实际上Xampp中的所有服务都需要Ports依赖。 会发生什么,当xampp没有特殊权限时,它只会寻找一些预定义的端口来运行这些服务。而且,如果以防万一,那些端口已经在某种程度上已经忙碌......呃!服务无法启动。

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

亲爱的兄弟姐妹们的永久性提示

要一劳永逸地完成这些工作,请按以下步骤操作:

  • 右键单击xampp-control.exe文件上的,然后转到属性。
  • 转到兼容性标签。
  • 在下面的设置中,选中以管理员身份运行此程序复选框。
  • 应用更改。你完成了。

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

答案 14 :(得分:1)

最好的方法:

上面介绍的其他方法会让你陷入很多地方 不要改变港口

2步骤

1)以管理员身份打开命令提示符

2)输入net stop http(如果它说它没有识别关键字,那么只是因为您的环境变量的路径不包含Program Files / System32的路径你可以搜索如何做到这一点) 在它要求你的每个地方按Y键,不要担心你没有停止任何重要的过程只是一些接过你的端口的过程。一旦你不工作,这个过程将再次接管你的端口。

答案 15 :(得分:1)

转到 C:xampp \ apache \ conf \ extra \ httpd-ssl.conf
找到提示“收听443”的行,将其更改为“收听4330”,然后重新启动计算机

enter image description here

[![在此处输入图片描述] [2]] [2]

答案 16 :(得分:0)

即使您已将Apache配置为侦听另一个端口,如果另一个程序正在使用默认SSL端口443,您仍会收到此错误。

您还需要编辑的是http-ssl.conf文件并更改该行 收听443 并更改其中的端口号。

答案 17 :(得分:0)

现在才看到这个,因为我有同样的问题,但更改端口或任何其他答案对我不起作用。

这就是问题所在 - 我已将 XAMPP 安装到自定义位置(例如 D:\Programming\XAMPP)。现在,由于 xampp 中的配置文件具有简单的位置(/xampp/mysql/data 等),我的服务无法启动。

所以,我只需要将所有这些位置从 /xampp/mysql/data 重命名为 D:/Programming/XAMPP/mysql/data,现在它可以工作了。

答案 18 :(得分:0)

在终端中运行以下命令,一切将正常运行:

sudo /etc/init.d/apache2 stop   
sudo /opt/lampp/lampp start

答案 19 :(得分:0)

使用服务器可以使用的任何方法,之后您可以使用该地址在浏览器中打开页面(如果您将端口80替换为81)

http://localhost:81/phpmyadmin/

答案 20 :(得分:0)

存在相同的问题,以上解决方案均无效。因此,通过仔细阅读日志,我发现了此消息:

  

10:55:42 [Apache]端口443被““ C:\ Program Files(x86)\ VMware \ VMware Workstation \ vmware-hostd.exe” -u“ C:\ ProgramData \ VMware \ hostd \带有PID 1908的config.xml“”!

enter image description here

就我而言,我只需要停止自动运行的VMWare服务。

enter image description here

关键是启动时请仔细阅读XAMPP面板给出的消息。

希望这项帮助!

答案 21 :(得分:0)

当前将XAMPP用于laravel开发。

我在桌面上安装了Skype,它阻止了端口80和443(Apache都使用了端口)

此修复程序对我有用:

1)在C:\xampp\apache\conf\httpd.conf下,搜索Listen 80并更改为Listen 81

2)在C:\xampp\apache\conf\extra\httpd-ssl.conf下,搜索Listen 443并更改为Listen 444

答案 22 :(得分:0)

对我来说,这是因为vmware(服务-它具有大约2或3种不同的服务),请停止它,一切正常。

答案 23 :(得分:0)

就我而言,xampp文件夹中没有htdocs文件夹。似乎需要运行htdocs文件夹,因此您可以在htdocs文件夹中创建一个空的xampp文件夹。

答案 24 :(得分: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文件夹中更改证书名称。

答案 25 :(得分:0)

我有一个解决方案。我有这个问题并研究解决方案,但我没有成功。所以我下载了一个较新版本的XAMPP并点击了程序中的netstats选项。
他给了我一个程序列表和他们使用的端口,所以我看了一下,没有使用端口80的程序,但是80以外的apache也使用了端口443 ...而且这个门上有一个名为Pando Media Boster的程序,我启动了任务管理器并完成了pando Average boster的过程。希望它有所帮助:)。

答案 26 :(得分:-1)

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

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

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

答案 27 :(得分:-7)

萨拉姆,

您无需更改端口号

只去任务经理&amp;结束任务正在运行的任何其他程序。

然后你可以 START APACHE .......

此致,