用php和文件静默安装Apache

时间:2014-09-25 16:28:12

标签: php c++ apache silent-installer

我正在编写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 Foundation\Apache\htdocs),所以我不知道在哪里发送文件。所以我要么:

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

找到这个

DocumentRoot ".*"

将其更改为

DocumentRoot "Your Location"

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

使用win 32 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 Foundation\Apache\conf\httpd.conf添加到程序文件文件夹以找到httpd.conf文件