(笔记)Linux下的CGI和BOA使用期间遇到的问题汇总
前段时间在做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使用期间遇到的问题汇总的更多相关文章
- Linux下嵌入式Web服务器BOA和CGI编程开发
**目录**一.环境搭建二.相关配置(部分)三.调试运行四.测试源码参考五.常见错误六.扩展(CCGI,SQLite) # 一.环境搭建操作系统:Ubuntu12.04 LTSboa下载地址(但是我找 ...
- 萌新笔记——linux下查看内存的使用情况
windows上有各种软件可以进行"一键加速"之类的操作,释放掉一些内存(虽然我暂时不知道是怎么办到的,有待后续学习).而任务管理器也可以很方便地查看各进程使用的内存情况,如下图: ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- 笔记-linux下Qt5.3.2 静态编译
这里主要讲linux下的编译,windows下面比较简单 参考:http://qt-project.org/wiki/Building-Qt-5-from-Git 依赖 sudo apt-get in ...
- (笔记)Linux下检测网卡与网线连接状态
http://blog.chinaunix.net/space.php?uid=20357359&do=blog&cuid=1798479 Linux下检测网卡与网线连接状态,使用io ...
- (笔记)Linux下system()函数的深度理解(整理)
注:从其它地方转的非常好的一篇文章,值得深究! 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数 ...
- (笔记)Linux下如何查看高CPU占用率线程
在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率.但是无法显 ...
- (笔记)Linux下的准确延时,#include <linux/delay.h>调用出错
在编写应用层程序时,有时需要延时一下,这个时候该怎么办呢? 在内核代码中,我们经常会看到这样的头文件使用#include <linux/delay.h>,心想着直接调用这个就可以了吧!可是 ...
- Linux 程序设计学习笔记----Linux下文件类型和属性管理
转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件 ...
随机推荐
- haproxy-1.7.7 基于域名的调度配置
配置样列: [root@c01 haproxy-1.7.7]# cat conf/haproxy.cfg global log 127.0.0.1 local0 info #[err warning ...
- 菜鸟学Java(十五)——Java反射机制(二)
上一篇博文<菜鸟学编程(九)——Java反射机制(一)>里面,向大家介绍了什么是Java的反射机制,以及Java的反射机制有什么用.上一篇比较偏重理论,理论的东西给人讲出来总感觉虚无缥缈, ...
- 如何将git本地创建的项目推送到github仓库
除了集中式的版本控制系统CVS和SVN外,还有目前世界上最先进的分布式版本控制系统Git,它的创始人是创建了linux的大神 - linus.GitHub网站与2008年开始服役,为开源项目免费提供G ...
- Android 视觉规范
各种分辨率下图片尺寸 工程师通常开发三套UI布局文件,所以设计师通常也要不同的需求处理2-3套切图. con Type Standard Asset Sizes (in Pixels), for Ge ...
- Flume中的HDFS Sink配置参数说明【转】
转:http://lxw1234.com/archives/2015/10/527.htm 关键字:flume.hdfs.sink.配置参数 Flume中的HDFS Sink应该是非常常用的,其中的配 ...
- plsql连接远程oracle和like无法查询中文问题
https://blog.csdn.net/yangguangzhidi/article/details/53301979 ************************************** ...
- Win10+VMplayer12中U盘无法挂载解决
VMplayer 中运行mac osx,想挂载个U盘进去,无奈居然一直挂载不进去,而此时宿主机Win10中的U盘也消失,查看设备管理器居然显示"未知设备" 于是乎一顿度娘,网上的方 ...
- 推荐20款JavaScript框架给前端开发者
下面,我们给大家提供了一个用于 HTML5 开发的各种用途的 JavaScript 库列表.这些框架能够给前端开发人员提供更好的功能实现的解决方案.如果你有收藏优秀的框架,也可以在后面的评论中分享给我 ...
- Office_Visio_Pro_2007
Office_Visio_Pro_2007http://pan.baidu.com/share/link?shareid=473782&uk=3474501992 解压后在文件夹里找到密钥[一 ...
- LVS之NAT模型、DR模型配置和持久连接
前言:继LVS概述,本篇实现NAT模型和DR模型下的负载均衡. NAT模型: LVS-NAT基于cisco的LocalDirector.VS/NAT不需要在RealServer上做任何设置,其只要能提 ...