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

我怎么解决这个问题?


当前回答

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

其他回答

对我有用的技巧是,

以管理员身份启动XAMPP

我尝试使用httpd更改端口。Config和httpd-ssl.config。它结束了我把它保存在。txt文件。也在右边顶部使用配置。没有工作

我正在使用VMworkstation。

对我来说,万维网发布服务使用的是80端口。我通过在cmd上运行以下命令来杀死它:

net stop http

在那之后,XAMPP运行Apache没有任何问题。

我的问题是在httpd.conf中的DocumentRoot和<Directory>条目指向不存在的文件夹。

例如,'原始' httpd.conf有以下条目:

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">

如果您已经安装在C:\xampp中,那么您需要更改这些条目以匹配。

DocumentRoot "c:/xampp/htdocs"
<Directory "c:/xampp/htdocs">

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

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

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

如果更改端口不能解决上述建议的问题,并且如果您可能玩弄了文件目录结构(例如,在安装后更改文件夹的名称,就像我所做的那样),那么您可以尝试这样做,

打开XAMPP控制面板,点击Apache的“配置” 选择Apache (httpd.conf) 在打开的编辑器中,按CTRL+H找到旧文件夹名的所有实例,并用新文件夹名替换它。

例如,在我的例子中,我已经将XAMPP的主安装文件夹名称从Xam更改为XAMPP

在编辑器中修改如下:

Define SRVROOT "G:/Xam/apache"
ServerRoot "G:/Xam/apache"
DocumentRoot "G:/Xam/htdocs"
<Directory "G:/Xam/htdocs">

To

Define SRVROOT "G:/Xampp/apache"
ServerRoot "G:/Xampp/apache"
DocumentRoot "G:/Xampps/htdocs"
<Directory "G:/Xampps/htdocs">

在编辑器中还有许多其他这样的实例,只需找到并替换它们中的每一个。

对Apache (httpd-ssl.conf)也执行同样的操作。