![在 Xampp 中将 Apache 作为服务启动时出现问题](https://linux22.com/image/487820/%E5%9C%A8%20Xampp%20%E4%B8%AD%E5%B0%86%20Apache%20%E4%BD%9C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%90%AF%E5%8A%A8%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%20.png)
你好,
在对 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服务名称”
我记得。