0

我制作了一个独立的应用程序,它可以找到 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 中运行时,我得到:

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

提问你是怎么运行的?

4

2 回答 2

2

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

于 2013-08-26T21:34:57.387 回答
0

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

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

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

LoadModule webdarts_mod 模块/Dartsdll.so

<地点/??????>

SetHandler DartsDll 处理程序

<位置>

用你想要的任何东西替换问号(除了你已经用作 apache 别名的任何名称)我使用了“guessd”

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

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

于 2013-08-31T12:42:35.160 回答