使用php和文件静默安装Apache

Silently install Apache with php and files

本文关键字:安装 Apache 静默 文件 php 使用      更新时间:2023-10-16

我正在编写一个C++安装程序,希望它在没有用户交互的情况下执行以下任务:

  • 静默安装Apache实例
  • 静默地将PHP添加到所述apache实例中
  • 确定apache实例的DocumentRoot,并将一堆php文件复制到该位置

目前,我使用以下命令安装apache:apache_2.2.6-win32-x86-no_ssl.msi /passive ALLUSERS=1 SERVERADMIN=admin@localhost SERVERNAME=localhost SERVERDOMAIN=localhost SERVERPORT=80。这将使用指定的设置静默安装apache,并使服务自动启动。完美的

问题是,在这之后,我不知道如何获得Apache使用的DocumentRoot(在我的测试计算机上默认为C:Program Files (x86)Apache Software FoundationApachehtdocs),所以我不知道将文件发送到哪里。所以我要么需要:

  • 控制htdocs的位置(首选)
  • 找到一种动态获取DocumentRoot的方法

谢谢!

您需要解析Apache/conf/httpd.conf文件,然后将DocumentRoot值更改为您希望他指向的位置。

查找此

DocumentRoot ".*"

将其更改为

DocumentRoot "Your Location"

要找到httpd.conf的位置,知道apache的默认安装文件夹是Programe Files。。。

使用win32 API

TCHAR pf[MAX_PATH];
SHGetSpecialFolderPath(
    0,
    pf, 
    CSIDL_PROGRAM_FILES, 
    FALSE ); 

http://msdn.microsoft.com/en-us/library/bb762204(VS.85).aspx

然后将Apache Software FoundationApacheconfhttpd.conf添加到程序文件文件夹中,以定位httpd.conf文件