BCB写的CGI程序如何在Apache中配置使用?

amfer 2006-03-20 01:28:27
扩展名为.exe,在IIS很容易就可以使用,只要把目录使用权限设为“脚本和可执行程序”就可以了,可Apache中怎么都不行,输入地址http://localhost/cgi-bin/***.exe就变成下载这个文件了?!

怎么办?
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liskman 2006-03-21
  • 打赏
  • 举报
回复
有没有度过 Application->AppName? 具体什么成员变量名忘记了,看一下帮助吧。然后再用ExtractPathName提取路径就行了。

对不起,我写程序都是开着帮助边看边写,变量名和上面那个函数名大概是那样写吧,不对的话再在帮助里找一找。
amfer 2006-03-21
  • 打赏
  • 举报
回复
你说的是Application->ExeName吧,试过了,一开始编译不通过,把#include <controls.hpp>包含进取就行,但是文件大小倍增,改用ParamStr(0)不需要任何头文件。结果是有了,如果是cgi那么得到的文件名是\\?\C:\wwwroot\cgi.exe,如果是ISAPI得到的是C:\WINDOWS\system32\dllhost.exe(调用ISAPI的主文件),都不可靠。

还有你说的Apache模块写法我试过了,我用BCB的那个Hello的例子在Apache 2中加载出错了。

算了结账!
amfer 2006-03-20
  • 打赏
  • 举报
回复
謝了,试试先,顺便问问,如何得到当前cgi程序的本地绝对路径?

比如cgi我放在c:\wwwroot下面,还有一个ini配置文件也在这,如何在程序内得到这个"c:\wwwroot"路径?好让我取得ini中的配置参数
liskman 2006-03-20
  • 打赏
  • 举报
回复
用C++Builder6程序向导生成Apache模块程序时,主程序cpp文件里有一个简要说明,看下说明就知道怎么处理了。
liskman 2006-03-20
  • 打赏
  • 举报
回复
你的程序是CGI接口的,不能在Apache下用,Apache要写成它自己格式的动态库。

C++Builder6编译出来的库只能在 Apache 1.3版下用,如何编译能在Apache2下用的库没研究通。

你可以看一下C++Builder6提供的示例程序,好像在Examples/WebService/Apache目录下。

对你的CGI程序,只要用写字板手动改一下项目文件和程序主文件(那个和程序名相同的cpp文件),只几行就行了。

然后再改Apache 1.3的配置文件,在配置文件中标识加载你的库,再指示载入点路径,重新启动一下Apache就OK了。

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧