我刚刚重新安装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控制面板,单击Apache的config,然后单击Apache(httpd.config)。现在在文本编辑器中。ctrl+f—>找到“Listen 80”,并将其替换为“Listen 8079”,不带引号:) 但是现在你必须像这样使用它http://localhost:8079/

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

其他回答

我以前也遇到过同样的问题。我有一台旧笔记本电脑,上面几乎所有的端口不是被阻塞就是故障了。我是这么做的。

打开XAMPP控制面板。 点击Config 然后进入Apache httpd.conf文件。用文本编辑器打开它。 搜索“80”(按Ctrl + F并找到所有它们。将其替换为8080或4040或4000)。 保存文件。并重新启动XAMPP。

它对我很有效,我希望它也能帮助到你。

您可以做的一件事是通过发出命令停止端口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中运行

有时问题不是端口问题,但可能是由于您所做的错误配置,Apache没有在Windows的事件查看器中记录错误。简单地说

cd C:\xampp\apache\bin

然后运行

httpd.exe

Apache会为你吐出错误,如下所示

AH00526: Syntax error on line 2 of C:/xampp/apache/conf/httpd.conf: Invalid command 'This', perhaps misspelled or defined by a module not included in the server configuration

我希望这能帮助一些可怜的人:)

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

如果上面所有的答案都不奏效,那么就这么做。注释掉php.ini文件中的所有扩展名。

In xampp control panel, click on Apache config. click on php.ini In php ctrl + F (extension) to find all extensions in your php.ini Comment out each and every active extension by adding a ; at the start of each extension line. example ;;;extension=bz2 i put 3 ;;; because i wanted to know ones i commented out so that when i come back to deburg which one had a problem, it was easy for me to see which ones i commented out. Make sure all extensions=whatever are commented out. Run your apache server. To pickup which extension was the problem, one by one un-comment your extensions while restarting your server until you catch the culprit.