| 求CGI程序在IIS上部署的问题? |
| [ 来源:ITWENKU 时间:2006-10-23 9:34:49 | 浏览:1059人次
] |
| |
|
高分求解CGI程序在IIS上部署的问题。
我用c写了一个程序 pm.c,该程序主要用来产生一个hmtl输出。代码大致如下:
int main (int argc, char **argv) { printf("Content-type: text/html\n\n"); printf("<HTML><BODY>");
//.....`调用其他应用方法,产生输入结果。
printf("</BODY></HTML>");
return 0; } 生pm.exe,编译指令如 该程序和a.h以及lib.dll用gcc编译后,产下:
gcc -DDLL_IMPORT -I. pm.c -o pm.exe lib.dll
这个程序所在的目录结构如下
project | sample | |pm.exe |lib.dll |a.h
在project目录下,还有一些该程序要用到的资源。
现在在cmd控制台上直接运行该程序,能得到正确的结果。
但是,当我把pm.exe改名为pm.cgi,并且放到IIS目录下,用IE访问pm.cgi时,出错。
IIS目录结构如下,cgi为我建立的站点。
C: | Inetpub | wwwroot | cgi | project | sample | |pm.cgi |lib.dll |a.h
访问的URL是: http://localhost/cgi/project/sample/pm.cgi
结果显示: CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
问题① 怎么才能让pm.cgi正常工作 问题② 我估计是pm.cgi访问某些资源的时候,没有找到相应的东西,但是出错的信息被记录到什么地方了,希望大家告知。
大家一定要救救我哦,郁闷了好几天了,茶饭不思.
附: 我写了一个简单的text.cgi里面只是简单的输入,不用访问本地资源,改成test.cgi后用http://localhost/cgi/project/sample/test.cgi 访问,能出正确结果。
load dll 失败?
我也比较困惑,除了HTML页面上显示CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: 外,我就找不到其他出错信息了。
关注一下。
补充一点,刚才验证了,exe运行的时候,已经用不到lib.dll。.dll只是编译的时候有用。
|
|
 |
推荐文章 |
|