Apache不从XAMPP控制面板运行(错误:Apache意外closures,这可能是由于端口被阻塞)

我在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 

在XAMPP Controm Panel上运行Apache时出错

这个问题有很多可能的答案。 最常见也是最可能的是,你正在运行另一个阻止端口80或443的程序。如果你已经安装Skype,那么你已经发现你的问题! 改变apache的端口设置为81,Apache将工作。 有一个很好的教程要检查这个,你可以打开你的命令行,通过点击开始菜单,然后input“cmd”,然后input命令

  netstat -nab 

这将返回一个程序的列表,将隐约类似于这种模式

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

你需要find一行以80结尾的行,然后终止它们以启动apache。 如果没有以80结尾的行,可以做更多的事情。

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

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

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

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

ServerName localhost:80

ServerName localhost:81

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

本地主机:81 / my_project.php

1.进入xampp/apache/conf/httpd.conf并打开它。
在第line 176httpd.conf文件中replace

ServerName localhost:80

ServerName localhost:81
它会工作。

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

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

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

我发现Windows下的XAMPP控制面板(在我的情况下是Windows 7)并不反映实际上正在进行的操作,除非以“以pipe理员身份运行”启动它。

陪同Timmay的回答,你需要做两个改变 –

听80 – >听81(靠近58行)

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

刚换了2行

 Listen 80 to Listen 81 ServerName localhost:80 to ServerName localhost:81 

并开始使用pipe理员权限

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

login并进入工具 – 选项 – 高级 – 连接,取消选中使用端口80的框

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

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

请记住,服务名称应replace为服务的确切名称,如服务列表所示。

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

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

希望能帮助到你。

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

我已经安装了VMWare Workstation。 所以,这是造成错误。

 Services.msc and stopped the 'Workstation' Services. 

这已经解决了我的问题。

谢谢

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

在这里输入图像说明

另一种情况是Windows 10

检查这个:

  1. 转到开始,inputservices.msc
  2. 在“服务”窗口中向下滚动以查找万维网发布服务。
  3. 右键点击它,然后select停止或禁用它,如果你只想使用XAMPP。

在这里输入图像说明

我发现在我的系统上的类似的问题,这是从安装xampp之前安装的skype。 我有类似的错误。 为了解决这个错误,

  1. login到Skype一段时间,
  2. 从xampp控制面板重新启动apache,
  3. 在浏览器中检查,无论是否工作,通过http:// localhost /
  4. 得到它的工作,
  5. 再次login到Skype,
  6. 所有的工作都很棒,就这么简单

我不需要任何安装或卸载,这对我在不到1分钟的工作。

干杯

如果您在Windows上完成全新安装后直接面对此问题:

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

要validation,只需在浏览器中testing正在运行的服务器即可。 input您的浏览器地址栏:

本地主机

如果这显示XAMPP仪表板,你没事。 或者,检查任务pipe理器是否正在运行“Apache HTTP Server”(httpd.exe)进程。

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

如果您安装了SQL Express或任何.Net服务器,则需要停止。 以pipe理员模式打开cmd并键入这一行…

净停止了

现在启动apache

$$$$$$$$最好的方法是$$$$$$$$$

上面解释的其他方法会让你卡在很多地方不要去改变端口

2步骤过程

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

2)input'net stop http'(如果说它没有标识关键字,那只是因为你的环境variables的PATH没有包含Program Files / System32的path,你可以search如何做)按Y在每一个地方都要求你,不要担心你没有停止任何重要的过程,只是你的港口的一些过程。 一旦你不工作,这个过程将再次接pipe你的端口。

请享用 !!

在我的情况下,问题是端口80和443正在使用:步骤来解决它是:

  1. 打开xampp并点击configurationbutton
  2. 现在点击(Appache)httpd.conf(在记事本或其他编辑器中打开)
  3. 现在点击ctrl + h
  4. find80并用8080replace
  5. 现在保存,现在点击Appache(httpd-ssl.conf)。
  6. 现在find4434430
  7. 现在你的xampp必须工作正常,因为这两个代码从来没有被你的系统上的其他程序使用。

我有一个解决scheme。 我有这个问题,研究一个解决scheme,但我没有成功。 所以我下载了更新版本的XAMPP,并在程序中点击了netstats选项。
在那里,他给了我一个程序列表和他们使用的端口,所以我看,没有使用80端口的程序,但超过80 Apache也使用端口443 …有一个名为Pando Media Boster这个门,我开始任务pipe理器,并完成了潘多的平均过程。 希望它帮助:)。

可能你在“httpd-ssl.conf”中更改configuration文件

 <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文件夹中的东西。

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

转到XAMPP控制和…

以pipe理员身份运行

就这样..

这是任何这种exception的金点。

工作背后的概念

实际上,Xampp中的所有服务都需要Ports依赖。 会发生什么是,当没有特殊的权力给xampp,它只会寻找一些预定义的端口来运行这些服务。 而且,如果这样的话,那些端口在某种程度上已经很忙了… eek! 该服务无法启动。

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

给我亲爱的兄弟和姐妹的永久小费

要做到这一点,请按照下列步骤操作:

  • 右键单击 xampp-control.exe文件并转到属性。
  • 转到兼容性选项卡。
  • 在下面的设置中,selectcheckbox以pipe理员身份运行此程序
  • 应用更改。 你完成了。

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

即使您已将Apacheconfiguration为在另一个端口上侦听,但如果另一个程序正在使用默认的SSL端口443,仍然会出现此错误。

您还需要编辑http-ssl.conf文件,并更改Listen 443行并在此处更改端口号。

我也面临同样的问题。 我发现了一个简单而快速的解决scheme。

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

在这里输入图像说明

在这里输入图像说明

在这里input图像说明

在这里输入图像说明

在这里输入图像说明

萨拉姆

你不需要改变端口号。

只能去任务pipe理器和结束任务正在运行的任何其他程序。

然后你可以开始APACHE …….

此致