免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4098 | 回复: 3
打印 上一主题 下一主题

CGI程序为什么不能访问sqlite3数据库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-18 14:44 |只看该作者 |倒序浏览
各位大侠 我在vmware redhat9.0做了个boa服务器,已经编译成功,并且CGI测试也成功,最近想使用sqlite3这个数据库,sqlite3也已经测试成功,现在想编写个CGI程序使用数据库出现了以下问题:
在本地运行成功的sqtest.cgi却无法在浏览器里运行,浏览器提示错误,页面里是502 bad gateway ,标题栏是404错误未找到url,boa  log下的错误是 unable to find LFLF,暂时还没有发现其他的错误
源程序为:
#include <stdio.h>
#include <sqlite3.h>
int main(void)
{
int sign=0;
sqlite3 *db;
printf("Content-Type:text/html\n\n";
printf("<title>response</title>");
sign=sqlite3_open("/var/www/cgi-bin/test1.db",&db);
if(sign)
{}
else
{
printf ("<p>successfully");
}
return 0;
}
很简单的程序,编译之前已经把路径export LD_LIBRARY_PATH=/usr/local/lib 添加到了/etc/profile文件的最后,然后编译使用的命令是 gcc -o sqtest.cgi sqtest.c -lsqlite3;我的sqlite3的共享库还有静态库都在/usr/local/lib下,已经将权限设置了777,我的boa的用户是nobody 组是nobody
曾经想过不使用动态库,只使用静态库,但是不知道怎么编译 各位大侠指点下,我实在不知道怎么办了?

[ 本帖最后由 upczhaokai 于 2009-1-18 14:46 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-02-12 10:28 |只看该作者
问题已解决,
使用静态编译解决的,但是缺点非常明显 编译好的文件比较大,可能会影响到以后往板子上移植,不过总算解决了,
做法是使用gcc -o sqtest.cgi sqtest.c -lsqlite3 -lpthread -static 生成的CGI文件即可使用

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
3 [报告]
发表于 2009-02-12 13:31 |只看该作者
原帖由 upczhaokai 于 2009-2-12 10:28 发表
问题已解决,
使用静态编译解决的,但是缺点非常明显 编译好的文件比较大,可能会影响到以后往板子上移植,不过总算解决了,
做法是使用gcc -o sqtest.cgi sqtest.c -lsqlite3 -lpthread -static 生成的CGI文 ...

是的,静态编译的比较大。可以用strip处理一下。

移植的时候可以换成动态库。

论坛徽章:
0
4 [报告]
发表于 2009-02-27 09:23 |只看该作者
请问楼上的大侠是否移植过boa到arm上,我现在正在做文件系统一直也没有再去看动态库的问题,boa好像找不到动态库,一直也没找到原因能否指教下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP