这就是我从我的 Perl 脚本中重新启动 Apache 所需要的全部吗?
system("C:\\Apache24\\bin\\httpd.exe -k restart");
我试图验证这是否真的重新启动了 Apache,但找不到我的 Apache 日志文件。在 Windows 任务管理器的服务标签下查看 Apache 服务没有获得更新的 PID 号。我还检查了我是否可以在 Windows 计算机管理 > 系统工具 > 事件查看器 > Windows 日志选项卡中看到任何活动,以查找任何可能暗示 Apache 确实重启但未发现任何活动的信息。现在我不确定这段代码是否有效。
我想我可以做一个
system("C:\\Apache24\\bin\\httpd.exe -k stop");
看看那是否杀死了 Apache ...
更新: 我试图在我的 cmd 窗口中停止它并得到
(OS 5)访问被拒绝。: AH10014: 无法打开“Apache2.4”服务
... 来发现我没有在提升的管理员下运行:命令提示符窗口。因此,Perl 脚本可能也无权执行该命令。
它的 Perl 脚本有效:
但前提是它在管理/提升的 cmd 中执行。