1、下载boa源码&安装gcc bison flex
wget www.boa.org/boa-0.94.13… 下载boa
tar -zxvf boa-0.94.13.tar.gz 解压
yum install gcc bison flex 安装依赖
2、生成配置文件
cd 进boa-0.94.13的src文件夹,运行./configure
修改 src/compat.h
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
->#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
修改Makeflie文件,把编译需要的插件换成我们刚才下载的
YACC = bison -y
LEX = flex
CC = gcc
CPP = gcc -E
之后在src文件夹内make安装boa
之后在文件夹内 ./boa启动boa服务器
启动后看是否运行,如果有问题没启动起来(ps查看进程,进程内没有boa
查看error_log文件,查看问题
(ps mimes.types文件地址为www.xilinx.com/Attachment/…
安装遇到的问题就这些,其他不详细的搜索下其他教程
3、C与sqlite交互
sqlite首先要创建数据库,在sqlite创建了数据库之后打开sqlite3 时后面需要带上你sqlite数据库的文件位置才能打开你创建的数据库
ps:sqlite3 /root/你的数据库.db
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
static int callback(void* data, int argc, char** argv, char** azColName) {
int i;
fprintf(stderr, "%s: ", (const char*)data);
for (i = 0; i < argc; i++) {
fprintf(stdout,"%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main(int argc, char* argv[])
{
sqlite3* db;
char* zErrMsg = 0;
int rc;
char* sql;
const char* data = "Callback function called";
printf("Content-Type:text/html;charset=UTF-8\n\n");
/* Open database */
rc = sqlite3_open("/root/你创建的数据库.db", &db);
if (rc) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}/*else{
fprintf(stderr, "Opened database successfully\n");
}*/
/* Create SQL statement */
sql = "SELECT * FROM 你创建的数据表";
/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
} else {
fprintf("End\n");
}
sqlite3_close(db);
return 0;
}
gcc -o sqlite.cgi conSqlite.c -l sqlite3 编译c文件到cgi
就可以访问生成的sqlite.cgi文件了
如果文件中有中文,记得设置charset为utf 8