在 Xampp 中将 Apache 作为服务启动时出现问题

在 Xampp 中将 Apache 作为服务启动时出现问题

你好,
在对 httpd.conf 进行更改后,我想在 Xampp 中重新启动 Apache 作为服务。我首先根据 Nelson 的建议将其删除:

sc delete apache2.2

当我在 xampp 控制面板上检查 svc 时,服务似乎重新启动了,也就是说,我可以使用上述命令再次成功删除它,但在 Xampp 控制面板上,它显示“已停止”(灰色背景上显示灰色)。单击“启动”不会改变任何事情,尽管我收到一条消息“Apache 服务已启动”。
在 httpd.conf 中,我更改了 DocumentRoot,但 Apache 似乎没有看到这些变化,尽管它似乎正在运行。至少我得到了一个 http://localhost 的页面,但没有得到新 DocumentRoot 引用的页面。
有人知道这里出了什么问题吗?
TIA
Steven

编辑
当我尝试使用服务控制台启动 Apache 时,出现错误“Windows 无法在本地计算机上启动 Apache2.2,patatee,patata...”。错误日志提到事件 3299。

答案1

“sc delete” 删除 Windows 服务,即服务不再存在,无法启动、停止或执行其他操作。除非您重新安装 Apache 或使用 sc 命令重新创建服务,否则不会重新创建该服务。从命令行重新启动服务的正确方法是:

net stop apache2.2
net start apache2.2

(令人恼火的是没有“网络重启”选项)。

如果您使用“net start apache2.2”,它会返回错误吗?如果您收到错误“服务名称无效。”,则需要重新创建服务。我不知道如何立即做到这一点,但这应该很简单。

JR

发生服务特定错误:1

这表明 Apache 服务已安装,但 Apache 本身在启动时报告错误。可能是它的配置文件有问题。通常的策略是尝试将 Apache 作为应用程序运行,这样您就可以看到它产生的任何错误消息。请参阅http://httpd.apache.org/docs/2.2/platform/windows.html#wincons有关将 Apache 作为应用程序运行的内容。

答案2

我从未使用过 XAMPP 的控制面板。但上次使用 XAMPP 时,我最终发现重启 Apache 最简单的方法是通过 Windows 的常规服务控制台。

答案3

我知道这不能直接回答您的问题,但我建议手动安装 apache/php/perl/mysql。这将使您能够:

  • 了解这些组件是如何链接的
  • 根据需要更改组件版本(某些项目可能需要不同的版本)
  • 在控制台中启动这些组件 - 这将帮助您更好地调试和控制
  • 你可以为不同的项目安装多个版本 - 这样就可以很容易地丢弃一个版本并重建它,而不会影响其他项目

像 XAMPP 这样的工具对于快速完成安装非常有用;但它们并非没有缺点。虽然集成的承诺很有吸引力,但大多数时候你都必须手动完成 - 这是一种更强大的方法。

如果您需要处理 Windows 服务,我推荐这个很棒的免费工具:Windows Service Commander。

答案4

您还可以直接通过 apache 可执行文件重新启动 apache 服务,并且您有一个 -k 重新加载/重新启动选项。

apache2.exe -k 重启 -n “apache服务名称”

我记得。

相关内容