如何找到Apache的httpd.exe安装位置?

时间:2009-04-08 14:26:15

标签: windows apache

如何最好地确定在Windows机器上安装Apache的位置和位置?

我正在编写一个使用已安装的apache的脚本,但是设置了自己的配置和放大器。 server-root,我不想对其进行硬编码,也不要让用户明确设置它(除非必要)。

我试图搜索注册表,但找不到任何有用的东西。

发布默认路径的更新

在我的机器上,它位于C:/ Program Files / Apache Software Foundation / Apache2.2中。如果我有Vista 64位,它可能在'Program Files(x86)'。如果计算机没有英文操作系统,那就更糟了。

解决方法

猜猜我必须为Apache 2.0或2.2的默认路径检查%PROGRAMFILES%,然后回退到提示符。阅读注册表并找出确切的位置是很好的。

最后的注释

未为“Everyone”安装Apache,但仅为当前用户安装。这使得查找起来有点困难,因为没有服务或注册表项/文件夹指向那里。

5 个答案:

答案 0 :(得分:1)

不是真正的答案,但如果我是你,我只会使用默认路径(%PROGRAMFILES%\ Apache Group \ Apache2 \ bin \ Apache.exe)或几个相对安全的默认路径,并提示是否找不到可执行文件。

否则它可能会发现一个完全意外的安装。我讨厌“太聪明”的节目。

答案 1 :(得分:1)

我显然只为我(当前用户)安装了Apache,而不是我机器上的所有用户,因此没有注册表项。

如果为所有用户安装,则注册表项位于:

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Apache\2.2.xx\ServerRoot

答案 2 :(得分:1)

在HKLM \ Services \ CurrentControlSet下的注册表中搜索httpd.exe。

答案 3 :(得分:0)

在Windows上,它安装在c:/ Program Files / Apache Group / Apache2 / bin / Apache.exe

其余目录(conf,log,doc-root等)位于c:/ Program Files / Apache Group / Apache2

答案 4 :(得分:0)

您也可以在services.msc中获得服务exe的路径。

(由于某种原因,我的apache已安装在AppData中。不知道为什么是因为我已使用Chocolatey安装)

enter image description here

然后

enter image description here

然后

enter image description here

PS:对不起,关于用户界面中的葡萄牙语。但我想它仍然可以理解。

-

EDIT

通过编程,您可以在cmd中运行此行并检查是否有帮助:#include <stdio.h> int main() { int i, max, min, x[10]; for(i=0; i<10; i++) { printf("Please enter a number: "); scanf_s("%d", &x[i]); printf("You entered %d\n", x[i]); } min = max = x[0]; for(i=1; i<10; i++) { if(x[i] < min) min = x[i]; if(x[i] > max) max = x[i]; } printf("min = %d, max = %d\n", min, max); return 0; }