我刚刚重新安装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,没有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">
...现在一切都好了。为了防止将来发生这样的错误,总是复制任何你想要引用的文件夹的路径,而不是自己输入。
由于我在一个开发人员面临防火墙问题的企业环境中工作,其他答案都不能解决我的问题。
由于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服务。