我刚刚重新安装XAMPP,当我试图在XAMPP控制面板中启动我的Apache服务器时,我现在得到以下错误:

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

我怎么解决这个问题?


当前回答

当我使用命令发现没有进程使用端口80时

netstat -abno | find ":80"

使用端口80的任何进程都没有问题。

然后我运行命令(在cmd中)

C:\xampp\apache\bin\httpd.exe

它在httpd-vhosts.conf文件中的虚拟主机配置中显示了一些错误,该文件最近由我编辑,用于在Eclipse IDE中的WordPress PHP环境中安装。所以我删除了这些行,Apache开始得很好。

其他回答

您可以做的一件事是通过发出命令停止端口80上的服务

net stop http

在cmd中。系统将询问您是否确定要停止这些服务。我发现我有一些服务我没有使用,并关闭了它们。

要查看还有谁正在使用端口80,请键入cmd

netstat -abno

我假设您希望在端口80上运行Apache。如果是这种情况,并且希望保留冲突的服务,则需要将它们关联到一个新的端口。

如果问题不是端口繁忙,您也可以尝试以下方法:在XAMPP配置面板中选择“显示调试信息”。当启动Apache时,会显示类似“正在执行”c:\xampp\ Apache \bin\httpd.exe”的内容。如果你运行它

c:\xampp\apache\bin\httpd.exe

在cmd中,你会得到更多的信息(我曾经有一些问题与我的httpd.conf文件)。

相关:如何释放我的端口80在本地主机Windows?Apache不能在xampp中运行

由于我在一个开发人员面临防火墙问题的企业环境中工作,其他答案都不能解决我的问题。

由于Skype不使用该端口,而是由其他一些内部应用程序使用, 我按照以下步骤来解决这个问题:

步骤1 -从XAMPP控制面板,在Apache下,单击Config按钮,并选择Apache (httpd.conf)。

在httpd.conf文件中,我发现了一行说:

Listen 80

然后把80换成任何你想要的数字/端口。在我的场景中,我使用端口8080。

Listen 8080

仍然从httpd.conf文件,我发现另一行说:

ServerName localhost:80

将80修改为8080。

ServerName localhost:8080

步骤2 -从XAMPP控制面板,在Apache下,再次单击Config按钮,但这次选择Apache (httpd-ssl.conf)。在httpd-ssl.conf文件中,找到这样一行

Listen 443

并将443更改为您想要的任何数字/端口。我将使用4433作为新的端口号。

Listen 4433

仍然从httpd-ssl.conf文件中,找到另一行说

<VirtualHost _default_:443>

ServerName localhost:443

将443改为4433。

<VirtualHost _default_:4433>

ServerName localhost:4433

记得在进行一些更改后保存httpd.conf和httpd-ssl.conf文件。然后重新启动Apache服务。

我也有同样的问题(在Windows 8.1上),但我只是通过提取到C:\而不是C:\somefolder来解决它,就像我一开始做的那样。例如,控制面板的路径现在是C:\xampp\xampp-control.exe

试试下面的方法,上面的方法都不能解决我的问题

选择“以管理员身份运行”

然后点击Apache旁边的左边大框

并选择卸载Apache

我不知道为什么这样做,但它直接解决了我的问题!

最好的解决方案

打开XAMPP控制面板,单击Apache的config,然后单击Apache(httpd.config)。现在在文本编辑器中。ctrl+f—>找到“Listen 80”,并将其替换为“Listen 8079”,不带引号:) 但是现在你必须像这样使用它http://localhost:8079/

p.s.,我试图改变skype的端口设置,停止我在windows 10中找不到的Web部署代理服务,cmd——> net stop http和其他方法,但除了这个没有任何工作。