Apache 不再随 Windows 启动而启动

Apache 不再随 Windows 启动而启动

我已将 Apache 安装在 XAMPP 本地测试服务器中。它配置为 Windows (XP) 服务。启动类型为“自动”。长期以来,它总是在 Windows 启动时启动,但最近这种情况不再发生了。我现在需要通过 XAMPP 控制面板手动启动它 - 此时它似乎启动正常。

我记得,这台机器最近唯一的更新是 Windows 更新 - 似乎没有与此相关的“已知问题”。还有 Google Chrome 的更新。

有什么想法可以阻止 Apache 在 Windows(XP)启动时自动启动?

编辑#1

我的系统事件日志中有 2 个与服务控制管理器相关的错误:

  1. 等待 Apache2.2 服务连接超时(30000 毫秒)。

  2. Apache2.2 服务启动失败,错误原因如下:该服务没有及时响应启动或控制请求。

当我在启动后手动启动 Apache 服务器时,会出现 2 个“信息”事件,表明它“已发送启动控制”和“已进入运行状态”。不过我注意到,根据事件日志,从发送启动控制到进入运行状态似乎需要 19 秒。

所以,也许 30 秒内启动Apache 启动的时间还不够长吗?

答案1

如果您在启动时遇到设置为“自动”的服务启动问题,请尝试通过配置依赖项来延迟它。例如,将 apache 服务设置为依赖于 TCP/IP 堆栈。这样它只会在 TCP/IP 服务之后启动。

另一种方法是将其设置为手动,并在启动时运行计划任务,调用等待 60 秒的脚本并启动 apache 服务,例如:

WScript.Sleep(60000)

strServiceName = "Apache Server Service"
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colServices = objWMI.ExecQuery ("Select * from Win32_Service Where Name ='" & strServiceName & "'")
For Each objService in colServices
    objService.StartService()
Next

相关内容