电源设计技术实用资料点击免费获取>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » CGI编程错误总结


共2条 1/1 1 跳转至

CGI编程错误总结

高工
2018-07-26 07:58:52    评分

前一段时间接触了CGI,虽然要实现的功能不是很复杂,但这个过程中遇到了一些问题,当时也头疼了一阵子,后来慢慢摸索最终还是解决了,现把个人遇到的几个CGI常见错误总结分享出来:

1、Internal Server Error ?错误代码500:

       可能原因如下:

(1)、缺少标准输出头信息:

printf("%s%c%c ","Content-Type:text/html",10,10);  

这个输出是作为 HTML 的文件头。因为 CGI不仅可以像浏览器输出 HTML 文本,而且可以输出图像,声音之类的东西。 这一行告诉浏览器如何处理接受到的内容,此处为一个html网页文本文件。在Content-Type 的定义后面跟有两行的空行,这也是不可缺少的。因为所有 CGI 程序的头部输出都是相近的,可以为其定义一个函数调用来节省编程的时间。这是CGI编程常用的一个技巧。

(2)、程序本身有语法错误。

程序中的一些语法错误同样会导致CGI程序执行出错,这时可以使用服务器自已的错误日志来判断错误原因,apache2的错误日志目录为:/var/log/apache2/error.log。

(3)、是否设为755或777的权限,有些主机设置只能用755,那么使用777也会错。

 

2、在IE端运行CGI可执行程序时弹出下载提示框:

       这个原因很可能是你把cgi可执行程序位置放错了,比如你配置服务器时指定的CGI可执行程序为/var/www/cgi-bin目录,而却把cgi可执行程序放在了/var/www目录下,在IE端调用时使用:http://hostip/xxx.cgi,这样一般浏览器上都会弹出下载提示框提示你保存譔cgi文件。

 

3、Can no execute binary file:

(1)、检查执行权限,一般要赋予CGI可执行程序777权限。

(2)、如果是交叉编译,要注意所使用的编译器,用错编译器,程序当然无法正确执行。

 

4、Not Found. The requested URLwas not found on this server:

html页面代码中的action=URL中CGI可执行程序的URL指定错误。可能是CGI的路径输入错误,也可能是cgi-bin目录下根本没有你所指定的cgi响应程序。

 

5、Access Error, Data follows,CGI process file does not exist:

CGI程序文件不存在。

原因1:可能是cgi-bin目录下没有CGI可执行文件。

        原因2:可能是CGI可执行文件名错误。

        原因3:可能是网络存在问题导致网络不通而找不到指定的CGI可执行程序。

 

6、Access Error: Data follows,CGI generated no output

这个错误一般原因是:你的CGI可执行程序要从某处获取某个或某些结果并把譔结果反馈给WEB服务器时,这些结果获取出现了异常或错误,导致CGI程序提前结束,服务器端没有得到想要的结果。可以检查CGI逻辑和可执行程序的操作对象来排除故障。




管理员
2018-07-26 08:10:02    评分
2楼

谢谢楼主分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]