请教一个cgi_header: unable to find LFLF问题

请教一个cgi_header: unable to find LFLF问题

我在三星的S3C2410上移植了boa web server,我用c编了一个cgi程序,在调试的时候,服务器端经常出现“cgi_header: unable to find LFLF”错误,一查cgi_header函数,应该是因为没有输出MIME头给web server时才会出现这种问题,可是我在cgi程序的开头输出了这样的语句了“printf("Contenttype:text/plain\n\n")”我改成“printf("Contenttype:text/plain\r\n\r\n")”也不行,我再检查一下cgi程序,程序也有执行权限,不知道还会是什么问题导致无法正常执行cgi程序。
特此发帖请问一下各位大虾是什么原因,有哪位大虾能系统的总结一下,不胜感谢!
浏览器显示的错误是
502 Bad Gateway
The CGI was not CGI/1.1 compliant.


QUOTE:
"Contenttype:text/plain\r\n\r\n"

书写错误, 写成: Content-type:text/html\n\n
这个是必须的
我改了也不行
按理说text/plain 也是可以的阿,它是直接在浏览器上输出文本,只不过不是html格式输出而已
我发现如果用SHELL脚本输出MIME头就可以了,为啥用C编的cgi,输出的MIME头就不管用呢,不知道有没有同胞碰到我这种类似的问题
我也是用的S3C2410的板子,同样是BOA服务器,CGI程序中有printf("Content-type: text/html\n\n",但是仍然是输出[13/Jun/2003:16:37:43 +0000] cgi_header: unable to find LFLF
,相当的郁闷,不知道你怎么解决的,希望你能看到并回复我,我实在不知道怎么办了
我用的是s3c4510b的板子,boa版本是0.94.13,在跑cgi的時候也碰到相同的問題,不過原因是出在req->post_data_fd上,在cgi.c的ini_cgi()中,在進行fork()之後,父行程會將req->post_data_fd關閉必設為零,在別的系統中這不會影響到子行程,不過不知道為什麼在uclinux下就會出問題,你試試把
      if (req->method == M_POST) {
            close(req->post_data_fd); /* child closed it too */
            req->post_data_fd = 0;
        }
裡的req->post_data_fd = 0;註解掉看看
这个问题最后是怎么解决的?有达人解决了指教以下,谢谢