前段时间在做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()函数没有执行!

转载于:https://www.cnblogs.com/hnrainll/archive/2011/06/01/2067295.html

CGI和BOA使用期间遇到的问题汇总(转)相关推荐

  1. CGI,BOA配置心得

    今天下午在开发板上搭建了,一个BOA服务器.进行了相关的配置. 访问网页没有问题. 但是在和CGI交互上面出现了问题. 填写表单,提交后出现: 502   Bad   Gateway   The   ...

  2. linux下CGIC/CGI和BOA开发小记

    新入职的公司需要我在公司的板卡上开发一个CGI网页用于配置系统参数,减少了客户直接配置内核文件的复杂过程, 主要功能要包括: 1.CGI登录(只有密码校验), 2.配置文件传输(CGI文件传输) 3. ...

  3. 使用npm init @vitejs/app 搭建vue3期间遇到的问题汇总整理

    最近看到用vite2能大幅缩短打包时间以及项目启动时间,就自己试了一下用vite2搭建项目,下面是我遇到的问题集合 1.若是npm下载某个配置有问题,参照下面配置,可以试试 npm config ed ...

  4. 嵌入式http服务器boa 简介

    目录 概述 BOA简介 在linux中查看进程 - 根据进程PID号终止进程 BOA移植过程 在Linux(pc端)上进行移植 1.下载boa源码 2.解压文件,并进入./boa-0.94.13/sr ...

  5. 物联网之boa服务器

    一.移植boa服务器 源码下载:boa-0.94.13.tar.gz 链接:https://pan.baidu.com/s/13pSIqRU47xkjInVfFDMorQ 密码:m7eg 解压源码:t ...

  6. 安防监控实现之CGI的移植及与html的通信

    文章目录 声明 概述 框图 源码分析 用户操作流程分析 CGIC的移植过程 源码移植 问题与解决思路 进一步项目移植 移植步骤 问题与解决思路 项目移植(完整版) 声明 华清远见教育集团 15年专注高 ...

  7. 【实战】物联网安防监控项目【2】———boa服务器的移植

    一.boa服务器的移植 1.源码下载 1.1 boa简介: 其可执行代码只有大约60KB左右,Boa是一个单任务的HTTP服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请 ...

  8. 【实战】物联网安防监控项目【3】———CGI的移植及与学习html制作网页

    一.CGI的移植 CGIC移植部分笔记: CGIC是一个支持CGI开发的开放源码的标准C库,可以免费使用,只需要在开发的站点和程序文档中有个公开声明即可,表明程序使用了CGIC库,用户也可以购买商业授 ...

  9. linux 远程挂载摄像头_基于Linux的嵌入式网络摄像机设计

    本嵌入式网络摄像机采用高性能ARM9芯片微处理器,内置嵌入式Web服务器. 通过嵌入式多任务操作系统采集摄像机视频数据:采集的视频信号数字化后经MJPEG算法压缩,再通过内部总线送到内置的Web服务器 ...

  10. 基于ARM开发板搭建物联网服务器

    基于ARM开发板搭建物联网服务器 一.项目需求 1.1设备需求 1.2知识需求 1.3项目介绍 二.开发环境搭建 2.1阿里云服务器配置 2.2虚拟机交叉编译环境搭建 2.3下载相关应用压缩文件 三. ...

最新文章

  1. linux下IPTABLES配置详解
  2. 同步电路设计的一些问题(时序分析基础,同步电路设计规则)
  3. [csu/coj 1078]多个序列的最长公共子序列
  4. Web 前沿——HTML5 Form Data 对象的使用
  5. 关闭裁剪功能_4个图片裁剪技巧,瞬间看出Word大神与小白的差距!
  6. VTK修炼之道52:图形基本操作进阶_多分辨率策略(模型抽取的三种方法)
  7. 二十八、接了一单Python北京空气质量数据处理
  8. oracle的监听器是什么,Oracle监听器,让你监听想要的东东
  9. Lintcode--1(463)--整数排序
  10. pytorch学习笔记(三):线性回归
  11. Ajax请求中的Redirect()
  12. 最新emoji表情代码大全_8张最新创意好看的早上好表情图片大全 秋日温馨的早安祝福图片带字精选...
  13. 实验室管理系统LIMS的作用和意义
  14. 无缘晶振匹配电容计算方法
  15. 小米的服务器地址怎么修改,小米无线路由器IP地址怎么修改
  16. 疯狂springboot终极讲义笔记(一)
  17. 服务器创建文件失败是什么意思,网站提示无法创建文件错误解决详情(图文)...
  18. CSAPP:BombLab
  19. 几何线条科技感员工转正述职报告PPT模板-优页文档
  20. Python写简单的拼图小游戏

热门文章

  1. python中popen返回值_python中os.system()和os.popen()的返回值
  2. bootstracp实现树形列表_用 Python 实现一个网页下载工具
  3. html js 跳出框架,现在的web框架为什么把html和js又结合在一起了?
  4. 下拉树取值与赋值单元格填报(取值赋值)
  5. php图像生成和处理,PHP的gd库(图像生成和处理)的应用
  6. el-select传递多个参数_python函数是如何进行参数传递的
  7. python 多分类 recall_sklearn多分类问题
  8. 你的项目应该如何分层?
  9. 你还在生产环境改代码么?函数计算版本管理(三)使用别名进行灰度发布...
  10. 【翻译】CodeMix使用教程(四):调试