goahead cgi 及出现的问题解决
1. route.txt 配置cgi路径
route uri=/cgi-bin dir=/web handler=cgi
2.交叉编译生成cgi
goahead 源码路径下 ./test/cgitest.c 是c写 的cgi文件
arm-linux-gcc cgitest.c -o c.cgi
3.交叉编译后的cgi存放路径
/web/cgi-bin/c.cgi
出现错误及解决方法:
版本:goahead v-3.1.2
1.CGI process file is not executeable
出现这个问题只需要要将cgi的目标程序的执行权限变为可执行即可。
2. failed to spawn CGI task
出现这个问题的原因:
goahead在执行的过程中需要创建临时文件,默认的目录下不能创建,需要进行修改。
先在web目录下创建tmp文件夹,然后修改如下代码:
修改goahead/cgi.c中的函数websGetCgiCommName中的如下代码:
PUBLIC char *websGetCgiCommName()
{
return sclone(websTempFile("/web", "cgi"));
}
3 cgi 崩溃
osdep.c
PUBLIC char *websTempFile(char *dir, char *prefix)
{
修改return此句:少了dir 参数
return sfmt("%s/%s-%d.tmp",prefix, count++);
修改后:
return sfmt("%s/%s-%d.tmp",dir, prefix, count++);
}
修改完毕需要重新编译goahead的源码。
参考文档:
http://embedthis.com/products/goahead/doc/guide/goahead/users/index.html
goahead cgi 及出现的问题解决的更多相关文章
- nginx path_info问题解决
问题: 访问www.xxxx.com/index.php/api/xxxxxxxxx网址时,提示无法访问,找不到页面 解决: 第一次,是改了nginx.conf,不会报这个错误了,但还是没有用 loc ...
- ANSI是什么编码?
用Notepad++创建一个文本文件text.txt,其默认编码格式为ANSI(乍看之下,还以为是ASCII呢),输入汉字居然不是乱码: 保存为test.txt,发送给你美国的同事Bob.他也用Not ...
- PHP安装模式cgi、fastcgi、php_mod比较
先了解一下普通cgi的工作流程: web server收到用户请求,并把请求提交给cgi程序,cgi程序根据请求提交的参数作相应处理,然后输出标准的html语句返回给web server,web se ...
- jquery.pjax.js bug问题解决集锦
jquery.pjax 是一个很好的局部刷新插件,但实际应用过程是还是会有很多小问题,部分问题解决如下: 1.pjax 局部加载时候,IE 存在缓存问题,很容易理解,pjax是通过jquery的aja ...
- mac os利用xampp实现apache下的cgi
折腾了两天终于把问题解决了,mac os是10.10.3..够新了吧 系统原生的apache配置cgi老是配不好,突然发现xampp也有macos版的,准备下下来试试. 安装完成后,打开apache服 ...
- GoAhead 嵌入式web
https://embedthis.com/goahead/ 入手了一个360 4g wifi :使用jquery .goahead Goahead webserver编辑 GoAhead We ...
- 六大Nagios常见问题解决办法
Nagios常见问题1: It appears as though you do not have permission to view information for any of the host ...
- 嵌入式web server——Goahead移植要点
前言 在嵌入式设备中,在没有液晶显示的情况下,可以使用web来访问设备,查看设备的运行状态以及进行参数设置,类似于路由器设置.网上有很多关于各种web server的优劣的评论,在此不讨论,只是介绍其 ...
- goahead webserver源码分析
1.一个txt文本架构图 main() | |--websOpenServer() | |-- websOpenListen() | ...
随机推荐
- 建造者模式->代码示例
<?php interface Builder{ public function head(); public function body(); public function foot(); ...
- GCD 之 同步 异步 并发
1. dispatch_async(dispatch_get_global_queue(, ), ^{ // 处理耗时操作的代码块... //通知主线程刷新 dispatch_async(dispat ...
- ASP.net WebAPI 上传图片
[HttpPost] public Task<Hashtable> ImgUpload() { // 检查是否是 multipart/form-data if (!Request.Cont ...
- Oracle 11g透明网关连接Sqlserver 2000
一.环境 公司网站系统使用的是IIS + Oracle 但公司某系统使用的是Sqlserver 2000, 但其数据需要做成报表放到网站上,为简化编程,使用Oracle做透明网关,定期从Sqlserv ...
- XMLTProcessor根据XSLT样式规则将节点转换为document对象
最近使用Firefox进行网页的调试,发现有些javascript XSLT处理xml的语句仅仅支持IE浏览器.而网络中的一些介绍Javascript XSLT 处理XML的文章基本上都是依据Ajax ...
- 模拟美萍加密狗--Rockey2虚拟狗(五)
虚拟狗开源后很多网友询问有关使用方法的问题,其实看我前四篇文章就应该了解怎样使用了,但还是写篇教程吧 [一].安装DSF (驱动模拟环境): 运行DSFx86Runtime.msi 如需改变安装目录请 ...
- 转:PAT练习题概览
AT(pat.zju.edu.cn)是一个面向 C/C++程序的 Online Judge 系统.相比 ZOJ,HDOJ,POJ 等 ACM 题库,PAT 的题目非常基础,对于数据结构.算法的入门是比 ...
- linux 多线程编程笔记
一, 线程基础知识 1,线程的概念 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行 中必不可少的资源(如程序计 ...
- mysql 假设存在id则设数据自添加1 ,不存在则加入。java月份计算比較
</pre><pre name="code" class="sql">INSERT INTO invite_rejectlog_num ...
- 【转】Ubuntu下deb包的安装方法
[转]Ubuntu下deb包的安装方法 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...