在Apache上运行Intraweb .so

时间:2013-08-26 19:47:35

标签: apache delphi intraweb

我做了一个独立的应用程序,它可以找到Intraweb 9.4.2' 创建一个apache 2 .so

project info ---
library DartsDLL;
uses
    ApacheTwoApp,
    IWInitApacheTwo,
    DLogin in 'DLogin.pas' {IWForm1: TIWAppForm},
    ServerController in 'ServerController.pas' {IWServerController:
    TIWServerControllerBase},
    UserSessionUnit in 'UserSessionUnit.pas' {IWUserSession: TIWUserSessionBase},
    DartDM in 'DartDM.pas' {dm: TDataModule},
    plyrshow in 'plyrshow.pas' {plyrs: TIWAppForm},
    plyrdetail in 'plyrdetail.pas' {weekdtail: TIWAppForm},
    NPlyr in 'NPlyr.pas' {FrmNewPlyr: TIWAppForm},
    pidlweeks in 'pidlweeks.pas' {Tseasweeks: TIWAppForm};

{$E so}

{$R *.res}

exports
    apache_module name 'webdarts_mod';

begin  
   IWRun; 
end.

conf files have been modified
httpd2.pas has been modified
apache restarts ok.

我在apache日志中没有错误。 当我尝试在delphi中运行时,我得到:

除非定义了主机应用程序,否则无法运行。

问你怎么运行它?

2 个答案:

答案 0 :(得分:2)

从菜单中打开Run Parameters并将主机应用程序设置为C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe或安装Apache httpd的路径。另一个提示是在参数中添加-X以强制Apache httpd从单个进程运行,以免混淆调试器。

答案 1 :(得分:0)

查看项目文件,两个重要的项目是库DartsDll和apache_module名称'webdarts_mod'。 假设项目编译DartsDll.so将与apache_module名称一起创建。

注意在LoadModule指令中使用apache_module名称和库,以及在SetHandler中使用不带ext的库名称。

接下来,您需要通过添加以下四行来修改Apache httpd.conf文件;

LoadModule webdarts_mod modules / Dartsdll.so

<位置/ ??????>

SetHandler DartsDll-handler

<地点>

用您想要的任何内容替换问号(除了您已经用作apache别名的任何名称)我使用'guessd'

您必须将DartsDll.so文件复制到apache模块目录。

重启Apache。 在浏览器中输入 - localhost / guessd 如果您的apache配置正确,您的.so(dll)将会运行。