我刚刚重新安装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

我怎么解决这个问题?


当前回答

首先确保你的\xampp文件夹在根目录下!这很重要,因为路径是相对的。 然后确保以管理员权限运行xampp_control.exe。 然后更改下面的文件,以避免阻塞端口80的问题。

在\xampp\xampp-control.ini中应该这样设置:

[ServicePorts]
Apache=8080
ApacheSSL=4433

找到\xampp\apache\conf\httpd.conf并设置:

Listen 8080

ServerName localhost:8080

找到\xampp\apache\conf\extra\httpd-ssl.conf并设置:

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

然后结束所有服务,以admin权限重新启动xampp-control.exe。它应该运行!

其他回答

通常,xampp端口错误发生是因为另一个应用程序正在使用xampp试图访问的默认端口80。大多数时候这个应用程序就是Skype。 所以,你有两种方法来解决这个问题:

关闭或终止正在使用该端口的进程/应用程序。 为xampp应用程序使用其他端口。(我个人更喜欢这种方法)。

这些方法在这篇文章中很好地解释了如何调试xampp端口80错误

你可以在XAMPP目录下运行apache_start.bat文件查看你的错误细节。

在我的情况下,这发生在安装sql server和解决方案是在这个答案中描述

Xampp -安装SQL Server和Visual Studio后无法启动Apache

所以我不得不从Windows服务中禁用“SQL Server Reporting Services”服务

发生此错误是因为为Apache分配的端口被另一个程序使用。要检查使用端口的应用程序,我们为Apache分配的端口,可以通过单击,

Netstat按钮。

这是Netstat文件,

首先,我为Apache分配了8080端口,我最近安装的Oracle DB.TNSLSNR.exe现在已经使用了8080端口。

因此,通过查看这个文件,我们可以选择一个与其他应用程序不冲突的端口。在我的例子中,端口8060与任何应用程序都没有冲突。通过选择,我们可以改变httpd.conf文件(XAMPP控制面板->配置)如上所述。

Apache服务器默认运行在80、443端口上。您的问题是两个端口中的一个或两个都忙。通常Skype或VMware Workstation使用这两个端口。所以,确保它们没有在运行。确保端口在windows上是空闲的最好方法是:

单击“窗口”按钮。 在搜索栏中输入resmon,打开资源监视器resmon.exe。 Open Listening Ports,这将显示打开的已使用端口。 现在您可以看到哪个进程正在使用端口80和443。 然后,您可以从CMD中使用进程的PID(在资源监视器中显示)终止进程,或者直接从任务管理器中终止进程。 使用PID类型Taskkill /PID 26356 /F从CMD中终止进程,其中26356是PID。