如何最好地确定在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,但仅为当前用户安装。这使得查找起来有点困难,因为没有服务或注册表项/文件夹指向那里。
答案 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安装)
然后
然后
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;
}