高分求解CGI程序在IIS上部署的问题。
高分求解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
访问,能出正确结果。