【问题标题】:Locate the path of an Apache server on windows在 Windows 上找到 Apache 服务器的路径
【发布时间】:2008-11-06 21:11:04
【问题描述】:
对于我正在编写的 Windows 脚本,我需要检测机器是否安装了 Apache 2.2,并找到应用程序路径。
我想出的一个解决方案是 wget http://localhost:8080/server-info 并从中解析根目录和配置文件。如果服务器不使用端口 8080,这将失败
另一种选择是调用“sc qc Apache2.2”并解析返回的字符串。如果服务器没有作为服务安装,或者使用不同的名称,这将失败。
有没有更好的方法来做到这一点?
【问题讨论】:
标签:
windows
apache
batch-file
scripting
【解决方案1】:
如果他们不使用安装程序安装它,那么没有很多好的选择。如果他们使用 MSI/安装程序,您可以检查注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Apache\2.2.2\ServerRoot
HKEY_CURRENT_USER\SOFTWARE\Apache Software Foundation\Apache\2.2.2\ServerRoot
也可以查看正在运行的进程列表:
WMIC PROCESS get Caption,Commandline,Processid
寻找合适的EXE。如果出于某种原因您需要端口号,请使用 netstat 并搜索相应的端口。
另外,当您说“Windows 脚本”时,我假设您使用的是现代且功能强大的东西,例如 Windows Scripting Host(我最喜欢的)或 PowerShell。甚至不用处理批处理文件。
【解决方案2】:
我记得,Apache 编写了一些注册表项。如果您知道如何从脚本中读取它们,那可能会有所帮助。
【解决方案3】:
紫外线桌面
在服务器上找不到路径。
尝试将 index.php 放在帮助台安装的站点 url 之后,或者如果您使用的是 apache,请确保启用 mode_rewrite 模块,并且在您的服务器配置文件中将文档根目录的 AllowOverride 指令设置为 All/FileInfo。[enter code here][1]