正在尝试启动 Apache 应用程序...xampp 面板从不显示 运行,尽管 运行 没问题

Attempting to start Apache app... xampp panel never shows running, though it is running fine

在 Windows 10,运行 xampp 7.4.12 来自 apachefriends.org.

在此机器上使用以前版本的 xampp,使用 xampp-control 启动 Apache 将在其 window 的下部窗格中显示 Attempting to start Apache app...,紧接着消息 Status change detected: running,此时 window 上部的 Apache 模块名称以绿色突出显示,httpd 进程的 PID 和端口号 运行出现,并且 Start 按钮标签更改为 Stop.

在这个版本的 xampp 中,MySQL 的 Start 按钮就是这样工作的,但是 Apache 永远不会变绿,它的按钮也永远不会变成 Stop .但是,使用 Netstat 按钮,我可以看到 httpd.exe 在地址 0.0.0.0 和 127.0.0.1 的端口 80 上启动 运行。 127.0.0.1 的行在几秒钟后消失,但 0.0.0.0 的行留在那里,我可以浏览到本地主机上的站点。但是由于 Apache 没有 Stop 按钮,我目前发现的最方便的停止它的方法是在另一个 window 中使用 Process Explorer 运行,然后单击 Netstat 找到侦听端口 80 的进程的 PID(按端口号快速排序),然后使用 Process Explorer(按 PID 排序)杀死 PID。

有其他人在 xampp-control 中看到过这种行为并且知道是什么原因造成的 and/or 如何解决?我想 xampp-control 的源代码可能会产生一个可能的原因而不会有太多困难,但由于我没有设置从源代码构建它(我只有 Cygwin/gcc),所以不清楚如何这对我有帮助。

编辑:我意识到我没有包含任何日志或配置文件(因为日志文件中没有任何有趣的内容,而且配置工作正常)。但作为记录,这是我启动时出现在 apache 错误日志中的内容:

[Sun Dec 06 13:13:05.429979 2020] [mpm_winnt:notice] [pid 230288:tid 708] AH00455: Apache/2.4.46 (Win64) PHP/7.4.12 configured -- resuming normal operations
[Sun Dec 06 13:13:05.429979 2020] [mpm_winnt:notice] [pid 230288:tid 708] AH00456: Apache Lounge VC15 Server built: Oct  3 2020 12:58:33
[Sun Dec 06 13:13:05.429979 2020] [core:notice] [pid 230288:tid 708] AH00094: Command line: 'c:\xampp7412\apache\bin\httpd.exe -d C:/xampp7412/apache'
[Sun Dec 06 13:13:05.438975 2020] [mpm_winnt:notice] [pid 230288:tid 708] AH00418: Parent: Created child process 228772
[Sun Dec 06 13:13:07.208885 2020] [mpm_winnt:notice] [pid 228772:tid 660] AH00354: Child: Starting 150 worker threads.

这就是出现在 xampp-control window:

下半部分的内容
1:13:03 PM  [Apache]    Attempting to start Apache app...

这里是 xampp 和 netstat windows 的屏幕截图:

嗯,原来我的问题是由 运行ning xampp-control.exe 作为管理员解决的。

这样做会导致模块名称突出显示,显示它的两个 PID 以及端口(80,我没有在配置中包括 SSL),并且“开始”按钮更改为“停止”。

虽然我看到一些模糊的警告,有时需要 运行 xampp-control 作为管理员,但我认为如果不这样做会导致问题,那么会有某种形式的在某处显示或记录的错误。而且我不相信我曾经 运行 在我以前的版本 xampp、1.8.2.

下以管理员身份使用过它