前段时间在做C/S模式下的视频监控,这段时间是B/S模式下的。期间遇到了不少问题,有些问题一卡就是几天,有些问题的解决办法在办法在网上也不是很好找,所以还有些问题虽然得到了临时解决,但是其原理现在我本人也还搞的不是很清楚,在这里也希望有大家的指点交流。现在我就将这些错误稍作总结,可供大家学习借鉴,同时也希望得到大家的指点指正。
       若还有错误代码,本人解决后会陆续补充。C/S下的错误汇总也会不久上传。

1.必须要在板子的/etc下建一个boa目录(错误代码忘了)

2.”can't open boa.conf for reading“
解决:不仅要在你自己放置boa的目录下放入boa.conf配置文件,而且要在板子的/etc/boa下也要放入boa.conf文件,这样系统在运行boa的时候才可以读取到boa.conf文件。

3.“unable to dup2 the error log bad file descriptor”
解决:在boa源码里,即src文件夹下把log.c中的第73行的if语句注释掉。

4."unable to dup2 the error log:Bad file descriptor"
解决:在boa.conf里,把“#AccessLog /var/log/boa/access_log”注释掉(即去掉#号)。

5.“[01/Jan/2031:00:12:25 +0000] boa.c:226 - icky Linux kernel bug!: No such file or directory”
解决:在boa源码里,即src文件夹下把boa.c中的第226行的if语句注释掉。

6."gethostbyname:: Resource temporarily unavailable"
解决:把“#ServerName www.your.org.here”的“#”号去掉。

7."./boa: 1: syntax error: "(" unexpected"
解决:没有修改Makefile,是用gcc编译的,应该改成是arm-linux-gcc编译。

8.如果页面上是:“502 Bad Gateway The CGI was not CGI/1.1 compliant.“
解决:给你要执行的cgi可执行程序赋个权限。chmod 777 filename

9.在<form action="cgi-bin/test2.cgi" method="get">中,cgi可执行程序的路径就直接写“cgi-bin/test2.cgi”就可以了,不要写板子上的绝对路径,这样就重复了,因为cgi执行时会自动去boa.conf的指定的路径里找。

10.出现警告:“control reaches end of non-void function”,是因为某个函数没有return,而函数定义时是非void型的。所以需要有个返回值。比如int cgiMain()这个函数就一定要有个返回值的,否则会报这个错误。

12.运行网页时老出现错误:“mkstemp:No such file or diectory”
解决:不能用post,只能用get。因为post方式需要新建一个临时文件,这就需要用到mkstemp函数。这个函数是在系统中以唯一的文件名创建一个文件并打开,且只有当前用户才能访问这个临时文件。故权限不够,或其他什么问题都会报这个错误。那么就用get吧!这里具体原因细节笔者暂时也不是很清楚...

13.直接写的含有system()函数的c程序用arm-linux-gcc编译到板子上的可以执行,而如果写在cgi中的就不一定能执行了。因为牵涉到一个cgi的权限的问题。即使给你的cgi-bin文件夹下的所有cgi可执行文件都赋了权限,也不一定能执行。
       解决办法就是看看你的boa.conf中的权限设置的如何。这里正确的应该是把“User nobody Group nogroup”改为“User root  Group 0”,否则不能正确执行!你会发现你的cgi可执行程序的其他代码都执行了,却只有这个system()函数没有执行!

(笔记)Linux下的CGI和BOA使用期间遇到的问题汇总的更多相关文章

  1. Linux下嵌入式Web服务器BOA和CGI编程开发

    **目录**一.环境搭建二.相关配置(部分)三.调试运行四.测试源码参考五.常见错误六.扩展(CCGI,SQLite) # 一.环境搭建操作系统:Ubuntu12.04 LTSboa下载地址(但是我找 ...

  2. 萌新笔记——linux下查看内存的使用情况

    windows上有各种软件可以进行"一键加速"之类的操作,释放掉一些内存(虽然我暂时不知道是怎么办到的,有待后续学习).而任务管理器也可以很方便地查看各进程使用的内存情况,如下图: ...

  3. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  4. 笔记-linux下Qt5.3.2 静态编译

    这里主要讲linux下的编译,windows下面比较简单 参考:http://qt-project.org/wiki/Building-Qt-5-from-Git 依赖 sudo apt-get in ...

  5. (笔记)Linux下检测网卡与网线连接状态

    http://blog.chinaunix.net/space.php?uid=20357359&do=blog&cuid=1798479 Linux下检测网卡与网线连接状态,使用io ...

  6. (笔记)Linux下system()函数的深度理解(整理)

    注:从其它地方转的非常好的一篇文章,值得深究! 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数 ...

  7. (笔记)Linux下如何查看高CPU占用率线程

    在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率.但是无法显 ...

  8. (笔记)Linux下的准确延时,#include <linux/delay.h>调用出错

    在编写应用层程序时,有时需要延时一下,这个时候该怎么办呢? 在内核代码中,我们经常会看到这样的头文件使用#include <linux/delay.h>,心想着直接调用这个就可以了吧!可是 ...

  9. Linux 程序设计学习笔记----Linux下文件类型和属性管理

    转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件 ...

随机推荐

  1. Webservice超时问题

    Winform客户端调用Webservice 120秒超时.对此问题,针对服务器与客户端分别作了超时设置为300S. 1. 服务器端设置超时 在 web.config 的 system.web 里添加 ...

  2. /etc/ssh/sshd_config 关建字:AllowUsers root test01

    新加用户,在AllowUsers 新增的用户名,重启sshd后,新增的用户才能登录服务器.

  3. 每日英语:The Risks of Big Data for Companies

    Big data. It's the latest IT buzzword, and it isn't hard to see why. The ability to parse more infor ...

  4. 关于go1.6使用vendor的坑

    基本命令是:$ govendor init$ govendor add +external 坑:如果在govendor之前,修改过go get的包源代码,那么必须在该包目录里git commit这个修 ...

  5. 好用的vim插件

    # 好用的vim插件 ### 简介------------------------------ 记录vim好用的插件 ### vimcdoc vim中文帮助文档-------------------- ...

  6. Asp.net 从客户端中检测到有潜在危险的Request.Form值

    解决方法: 在Web.config文件里找到<httpRuntime>节点,然后修改requestValidationMode="2.0" 修改结果如下: <sy ...

  7. ARKit从入门到精通(8)-ARKit捕捉平地

    转载:http://blog.csdn.net/hdfqq188816190/article/details/73360287 1.1-ARKit捕捉平地实现流程介绍 1.2-完整代码 1.3-代码下 ...

  8. 纯CSS3悬停图标旋转导航动画代码

    分享一款纯CSS3悬停图标旋转导航动画代码.这是一款鼠标移到图标上动画旋转显示导航菜单.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="x_con ...

  9. 结合order by 解CTF某题

    真tmd不容易 <?php error_reporting(0); if (!isset($_POST['uname']) || !isset($_POST['pwd'])) { echo '& ...

  10. python keras 神经网络框架 的使用以及实例

    先吐槽一下这个基于theano的keras有多难装,反正我是在windows下折腾到不行(需要64bit,vs c++2015),所以自己装了一个双系统.这才感到linux系统的强大之初,难怪大公司都 ...