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

我怎么解决这个问题?


当前回答

我收到了上面相同的错误,导致我的原因是在文件'httpd-vhosts.conf'中,我在<Directory>标签中放了一个注释,就像这样…

<Directory "*PATH TO MY FOLDER*...">
        AllowOverride All
        Require all Granted    ## This directive could/should be set to denied.
</Directory>

一旦我删除了注释,Apache就启动了。我想我应该把注释放在它自己的行里。我只是想,像其他网络代码一样,它可以在那里。

其他回答

好吧,没有端口80,没有Skype的指责!我的问题确实很简单(也很愚蠢), 在我为DocumentRoot指令指定的路径之后,我有一个额外的反斜杠(\)(在Windows上),所以我做了这样的更改,问题就像鸭汤一样消失了。

我的index.php在路径“D:\ sites\dummy”和我的httpd.conf是这样的:

<VirtualHost 127.0.0.2:80>
ServerName dummy.local
DocumentRoot "D:\websites\dummy\" #mistake here
</VirtualHost>
<Directory "D:\websites\dummy\"> #mistake here
    Require all granted
</Directory>

所以就像这样改变这两行:

#first mistake fix:
DocumentRoot "D:\websites\dummy"
#second (similar) mistake fix:
<Directory "D:\websites\dummy">

...现在一切都好了。为了防止将来发生这样的错误,总是复制任何你想要引用的文件夹的路径,而不是自己输入。

我收到了上面相同的错误,导致我的原因是在文件'httpd-vhosts.conf'中,我在<Directory>标签中放了一个注释,就像这样…

<Directory "*PATH TO MY FOLDER*...">
        AllowOverride All
        Require all Granted    ## This directive could/should be set to denied.
</Directory>

一旦我删除了注释,Apache就启动了。我想我应该把注释放在它自己的行里。我只是想,像其他网络代码一样,它可以在那里。

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。

开放的Skype。

工具—>选项—>高级—>连接。

取消选中“使用端口80和443作为传入连接的替代”复选框

退出并关闭所有Skype窗口。尝试重新启动Apache。

在我的情况下,我得到这个问题,因为Bitnami Wordpress是活跃的。

打开Bitanami App 进入服务器管理 确保停止MySql和Apache 重新启动xampp,它将工作。