我做了一个独立的应用程序,它可以找到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中运行时,我得到:
除非定义了主机应用程序,否则无法运行。
问你怎么运行它?
答案 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的库名称。
LoadModule webdarts_mod modules / Dartsdll.so
<位置/ ??????>
SetHandler DartsDll-handler
用您想要的任何内容替换问号(除了您已经用作apache别名的任何名称)我使用'guessd'
您必须将DartsDll.so文件复制到apache模块目录。
重启Apache。 在浏览器中输入 - localhost / guessd 如果您的apache配置正确,您的.so(dll)将会运行。