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

Rip*_*sim 69 php apache xampp port server

我在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
Run Code Online (Sandbox Code Playgroud)

在XAMPP Controm Panel上运行Apache时出错

The*_*son 83

这个问题有很多可能的答案.最常见也是最可能的是你正在运行阻止端口80或443的另一个程序.如果你已经安装了Skype,那么你就找到了问题!将apache的端口设置更改为81,apache将起作用.有一个很好的教程要检查这一点,你可以通过单击开始菜单,然后输入'cmd'打开命令行,然后输入命令

    netstat -nab
Run Code Online (Sandbox Code Playgroud)

这将返回一个模糊地类似于这种模式的程序列表

    [someprogram.exe]
    UDP     [fe80::numbers:numbers:numbers:numbers%numbers]:portnumber
Run Code Online (Sandbox Code Playgroud)

您需要找到以(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

  • 我已将端口更改为81而不是80.当我在Skype登录时,Apache未启动.错误是443被占用.所以我在通过Skype登录之前运行Apache做得很好.所以序列是:首先运行Apache然后登录Skype (3认同)
  • 我在httpd-ssl.conf文件中将Listen 443修改为Listen 444.因此,即使在登录Skype期间,Apache也在运行.所以Apache在81,444端口运行.很好......再次感谢Timmay. (3认同)
  • 尝试在对我有用的xampp控制期间执行“以管理员身份运行”,我没有使用Skype或任何其他使用端口80的应用程序。 (2认同)
  • `apache_start.bat` 解决了我的问题。你应该先提到它:) (2认同)

Muh*_*man 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 
Run Code Online (Sandbox Code Playgroud)

  #Listen 0.0.0.0:81
  #Listen [::]:81
  Listen 81
Run Code Online (Sandbox Code Playgroud)


101*_*101 14

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


Bra*_*yac 12

你执行过"setup_xampp.bat"脚本吗?它在XAMPP文件夹中,每次更改XAMPP文件夹时都必须执行它.


小智 12

Accompanying Timmay's answer, You need to do two changes-

Listen 80 --> Listen 81 (near line 58)

ServerName localhost:80 --> ServerName localhost:81 (near line 218)


Beh*_*adi 9

刚换了2行

Listen 80
to
Listen 81

ServerName localhost:80
to
ServerName localhost:81
Run Code Online (Sandbox Code Playgroud)

并开始使用管理员权限

  • 我也有运行 apache 服务器的问题。我更改了端口号,但它不工作。请帮助我。 (2认同)

Bla*_*mba 9

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

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

现在您的localhost将可用 localhost:8080

  • 最完整的答案。 (2认同)

小智 6

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

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

-

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

如何从命令提示符删除服务?sc删除"serviceName"

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

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

-

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

-

希望能帮助到你.


Arp*_*ekh 6

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

Services.msc and stopped the 'Workstation' Services.
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.

谢谢


van*_*102 6

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

在此输入图像描述

另一个案例是Windows 10

检查一下:

  1. 转到"开始",键入services.msc
  2. 在"服务"窗口中向下滚动以查找World Wide Web Publishing服务.
  3. 右键单击它,如果您只想使用XAMPP,请选择停止或禁用它.

在此输入图像描述