免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4909 | 回复: 1
打印 上一主题 下一主题

[其他] cgi+boa,cgi页面执行失败。提示cgi_header: unable to find LFLF [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-21 15:29 |只看该作者 |倒序浏览
web server使用的是boa。
目前,单独编译cgi程序没有错误。
但是如果在main函数中调用cgilib提供的函数,譬如init_cgi()等(实际上,就算是新写一个空函数调用也会出现这种情况,所以排除函数错误的原因),那么页面访问该cgi时,boa则提示cgi_header: unable to find LFLF。
打开boa的FASCIST_LOGGING调试信息,利用boa的调试信息:
fprintf(stderr, "\"%s\"\n", buf); //其中buf = req->header_line

得到的结果是语句仅仅显示一对“”,而没有任何内容。
正常应该显示cgi的main中所有printf的HTML报文,即“Content-type: text/html\n\n”等。

这个是cgilib库的原因吗?还是因为makefile没写好导致没有调用到cgilib??
或者是另外的原因?求高手指点
附上cgi的makefile文件内容:(其中libcgi-1.0为cgilib库)
CC=gcc

ifeq ($(SAMBA),1)
CFLAGS += -DLARGE_UPGRADE_BUF=1
endif
CFLAGS += -DPRODUCT_$(PRODUCT)
CFLAGS += -Wall -Ilibcgi-1.0/src/
LDFLAGS += -Llibcgi-1.0/src/ -lcgi

all: libcgi xml_action.o login.o protected.o
$(CC) xml_action.o -o xml_action.cgi $(LDFLAGS)
$(CC) login.o -o login.cgi $(LDFLAGS)
$(CC) protected.o -o protected.cgi $(LDFLAGS)
libcgi:
cd libcgi-1.0; ./configure
make -C libcgi-1.0 CC="$(CC) -fPIC"

clean:
rm -f *.cgi *.o
make -C libcgi-1.0/ clean

另外给login.c的main函数:
可以正常在boa的调试信息中看到语句:“Content-type: text/html”,即上面所说req->header_line的内容。
int main(void)
{
  printf("Content-type: text/html\n\n");
return -1;
}
boa调试信息显示“cgi_header: unable to find LFLF”,以及一个空的“”,即上面所说req->header_line的内容。
int main(void)
{
  printf("Content-type: text/html\n\n");
cgi_init();          //lib-cgi中的函数,即使在此使用一个不起任何作用的空函数,结果一样
return -1;
}

论坛徽章:
0
2 [报告]
发表于 2013-04-02 11:44 |只看该作者
是不是文件权限的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP