目录
文档控制记录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
2.开始搭建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2.1sql ite简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2.2搭建步骤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
3.测试和几个应注意的问题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3、 1终端状态下进行测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3、 2用C代码进行测试 test.c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3、 3用php进行测试 test.php. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译
等完整的设计文件及源代码资料请联系68661508索要
1.引言
目的本文档旨指导apache+php+sql ite3开发环境的搭建需要源码apache_1.3.39、php-4.48、sql ite-3.3.8以及php关于sql ite3动态扩展库sql ite3-0.5,尤其是最后的那个动态扩展库对于php第5版本以下必需要这个库才能访问sql ite。
对象嵌入式WEB开发人员。
参考文档
《sqlite+php for arm.htm》
《SQLite移植ARM2410.html》
《fedora10下SQLite的移植.html》
《sqlite的移植.html》
《基于ARM11的PHP动态扩展库环境的搭建.doc》
《基于S3c6410的WEB开发环境的搭建.doc》
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译
等完整的设计文件及源代码资料请联系68661508索要
2.开始搭建
2.1 sqlite简介
SQLite是一款轻型的数据库它的设计目标是嵌入式的而且目前已经在很多嵌入式产品中使用了它它占用资源非常的低在嵌入式设备中可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统同时能够跟很多程序语言相结合 比如Tcl、 PHP、 Java等还有ODBC接口同样比起Mysql、 PostgreSQL这两款开源世界著名的数据库管理系统来讲它的处理速度比他们都快。
SQLite虽然很小巧但是支持的SQL语句不会逊色于其他开源数据库它支持的SQL包括
ATTACH DATABASE
BEGIN TRANSACTIONcomment
COMMIT TRANSACTION
COPY
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
DELETE
DETACH DATABASE
DROP INDEX
DROP TABLE
DROP TRIGGER
DROP VIEW
END TRANSACTION
EXPLAINexpression
INSERT
ON CONFLICT clause
PRAGMA
REPLACE
ROLLBACK TRANSACTION
SELECT
UPDATE
同时它还支持事务处理功能等等。也有人说它象Microsoft的Access有时候真的觉得有点象但是事实上它们区别很大。 比如SQLite支持跨平台操作简单能够使用很多语言直接创建数据库而不象Access一样需要Office的支持。如果你是个很小型的应用或者你想做嵌入式开发没有合适的数据库系统那么现在你可以考虑使用SQLite。 目前它的最新版本是3.2.2它的官方网站是 http://www. sqlite.org或者http://www. sqlite.com.cn能在上面获得源代码和文档。同时因为数据库结构简单系统源代码也不是很多也适合想研究数据库系统开发的专业人士
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译
等完整的设计文件及源代码资料请联系68661508索要
下面是访问SQLite官方网站: http://www.sql ite.org/时第一眼看到关于SQLite的特性.
1.ACI D事务
2.零配置–无需安装和管理配置
3.储存在单一磁盘文件中的一个完整的数据库
4.数据库文件可以在不同字节顺序的机器间自由的共享
5.支持数据库大小至2TB
6.足够小,大致3万行C代码,250K
7.比一些流行的数据库在大部分普通数据库操作要快
8.简单,轻松的API
9.包含TCL绑定,同时通过Wrapper支持其他语言的绑定
10. 良好注释的源代码,并且有着90%以上的测试覆盖率
11.独立:没有额外依赖
12.Source完全的Open,你可以用于任何用途,包括出售它
13.支持多种开发语言,C, PHP, Perl, Java,ASP.NET,Python
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等完整的设计文件及源代码资料请联系68661508索要
2.2搭建步骤
由于先前已经搭建好apache+php+mysql的开发环境但是mysql所占用的cpu资源和内存资源过大移植到arm11上以后效果并不是很理想所以重新动手搭建apache+php+sql ite的开发环境对于apache+php的开发环境可以参照《基于S3c6410的WEB开发环境的搭建.doc》 这里不再说明
1、 准备好php-4.48、 sql ite3.7.12.1和动态扩展库包sql ite3-0.5主要搭建phpsql ite;至于apache,我们不需要去改变它,由于要跟新的开发板对接此处必须采用arm-l inux-gcc4.3.2版本。
搭建php
2.1、采用以前搭建好的apache+php开发环境下的php-4.48,从而避免又去重新配置php的相关文件当然也可以直接下载一个php-4.48源码包从头来搭建对于可能遇到的问题及解决办法详见《基于S3c6410的WEB开发环境的搭建.doc》 .
2.2、终端输入 CC=arm-l inux-gcc ./configure
--prefix=/usr/local/apache-arm11/php
--with-apxs=/usr/local/apache-arm11/apache/bin/apxs--enable-pdo=shared
--with-sql ite=shared --with-pdo-sql ite=shared--with-zl ib--host=arm-l inux--enable-track-vars --with-xml
,如果配置configure文件出现问题具体办法可参考《基于S3c6410的WEB开发环境的搭建.doc》和《sql ite+phpforarm.htm》 。
2、 3、 由于修改了configure文件对于后期由于要装载动态库 固我们要修改configure生成的Makefi le文件在Makefi le文件开头添加 LDFLAGS+=-ldl 方便后期能够链接动态库其他两个地方main/php.h和ext/standard/dl .c此处不需要修改如果是从头搭建请参考《基于S3c6410的WEB开发环境的搭建.doc》 。
2、 4终端输入 make。
2、 5终端输入 make instal l .
搭建sqlite3.7.12.1
3、 1配置
CC=arm-l inux-gcc ./configure--prefix=/usr/local/apache-arm11/sql ite--host=arm-l inux。
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等完整的设计文件及源代码资料请联系68661508索要
搭建php动态扩展库sqlite3-0.5
4、 1 unzip & untar the package。
4、 2 run "phpize"。
4、 3 run "./configure
--with-php-config=/usr/local/apache-arm11/php/bin/php-config --with-sqlite3=/path/to/your/sqlite3/install” .
4、 4 make && make install
4、 5 (optionally) copy DB/sqlite3.php to
/path/to/php/lib/php/DB/sqlite3.php。
4、 6拷贝libsqlite3. so.0.8.6到/usr/lib目录下
并创建两个链接libsqlite3. so、 libsqlite3. so.0
4、 6拷贝sql ite3到/usr/bin目录下
最后将搭建好的apache+php+sql ite开发环境包压缩并下载到开发板上进行测试操作后面会附上两个测试程序和几个主要问题。
搭建JSON格式化数据json1.2.1
5、 1配置
CC=arm-linux-gcc ./configure
--with-php-config=/usr/local/apache-arm11/php/bin/php-config
--host=arm-l inux
5、 2 make && make install
5、 3 php程序开头处加上dl ("json. so") ;
3.测试和几个应注意的问题
3、 1终端状态下进行测试
1、进入到sql ite/bin目录下运行sql ite3.
2、创建表
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等完整的设计文件及源代码资料请联系68661508索要
3、删除表sqlite> drop table studentssqlite> . tablessqlite>
4、查看表结构sqlite> create table students(id integer,name text,age integer) ;sqlite> . schema students
CREATE TABLE students(id integer,name text,age integer) ;sqlite>
5、插入列sqlite> alter table students add cul;sqlite> alter table students add column sex text;sqlite> . schema students
CREATE TABLE students(id integer,name text,age integer, cul, sextext) ;sqlite>
6、插入表记录sqlite> insert into students values(1, 'aa' , 10,0, 'm' ) ;sqlite> insert into students values(2, 'bb' , 11, 1, 'f' ) ;sqlite> select * from students;
1 |aa| 10|0|m
2|bb| 11 | 1 |fsqlite>
7、重命名表sqlite> alter table students rename to stu;sqlite>
8、删除某一列这为列cul
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译
等完整的设计文件及源代码资料请联系68661508索要
sqlite> begin transaction;sqlite> create temporary table stu_bak(id integer,name text,ageinteger, sex text) ;sqlite> insert into stu_bak select id,name,age, sex from stu;sqlite> drop table stu;sqlite> create table stu(id integer,name text,age integer, sextext) ;sqlite> insert into stu select id,name,age, sex from stu_bak;sqlite> drop table stu_bak;sqlite> select * from stu;
1 |aa| 10|m
2|bb| 11 |fsqlite> commit;sqlite>
9、退出程序sqlite> .quit
3、 2用C代码进行测试 test. c
#include <stdlib.h>
#include <stdio.h>
#include "/usr/local/apache-arm11/sqlite/include/sqlite3.h" //绝对路径static int callback(void *NotUsed, int argc, char **argv, char
**azColName)
{int i ;for(i=0; i<argc; i++)
{printf("%s = %s\n", azColName[i] , argv [i]) ;
}printf("\n") ;return 0;
}
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译
等完整的设计文件及源代码资料请联系68661508索要
int main(int argc, char **argv)
{sqlite3 *db;char *zErrMsg = 0;int rc;if( argc!=3 )
{fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n",argv[0] ) ;
}rc = sqlite3_open(argv[1] , &db) ;if( rc )
{fprintf(stderr, "Can' t open database: %s\n",sqlite3_errmsg(db) ) ;sqlite3_close(db) ;
}rc = sqlite3_exec(db, argv[2] , callback, 0, &zErrMsg) ;if( rc!=SQLITE_OK )
{fprintf(stderr, "SQL error: %s\n", zErrMsg) ;
}sqlite3_close(db) ;
参考设计材料包含项目源代码屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等完整的设计文件及源代码资料请联系68661508索要
企鹅小屋怎么样?企鹅小屋最近针对自己的美国cn2 gia套餐推出了2个优惠码:月付7折和年付6折,独享CPU,100%性能,三网回程CN2 GIA网络,100Mbps峰值带宽,用完优惠码1G内存套餐是年付240元,线路方面三网回程CN2 GIA。如果新购IP不能正常使用,请在开通时间60分钟内工单VPS技术部门更换正常IP;特价主机不支持退款。点击进入:企鹅小屋官网地址企鹅小屋优惠码:年付6折优惠...
想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...
DMIT怎么样?DMIT最近动作频繁,前几天刚刚上架了日本lite版VPS,正在酝酿上线日本高级网络VPS,又差不多在同一时间推出了美国cn2 gia线路不限流量的美国云服务器,不过价格太过昂贵。丐版只有30M带宽,月付179.99美元 !!目前,美国云服务器已经有个4个套餐,分别是,Premium(cn2 gia线路)、Lite(普通直连)、Premium Secure(带高防的cn2 gia线...