APPWeb+PHP5+SQLite3在S3C6410上移植之三

来源:互联网 发布:数车caxa自动编程 编辑:程序博客网 时间:2024/05/16 15:38

数据库SQLite3移植

PHP5.2.27内部SQLite版本v2,为了获得更多功能支持,采用外部SQLite3版本sqlite3.7.11(通过PDO方式访问)。

1 编译SQLite3

首先,在源码目录下建立build/目录,并进入

usrname@ubuntu:~/sqlite3.7.11/sqlite3.6.1/$mkdirbuild

usename@ubuntu:~/sqlite3.7.11/sqlite3.7.11/$cdbuild

usename@ubuntu:~/sqlite3.7.11/ sqlite3.7.11/build/$ ../configure --host=arm-linux--prefix=$(pwd) --disable-tcl

usrname@ubuntu:~/sqlite3.7.11/ sqlite3.7.11/build/$make

usename@ubuntu:~/sqlite3.7.11/ sqlite3.7.11/build/$make install

使用strip工具去除动态库中的调试信息

usename@ubuntu:~/sqlite3.7.11/ sqlite3.7.11/build/$cd lib

usename@ubuntu:~/sqlite3.7.11/ sqlite3.7.11/build/lib/$ arm-linux-strip libsqlite3.so.0.8.6

2 拷贝文件至网关

将lib目录下的文件拷贝到网关/usr/lib目录中,并将/bin目录下的sqlite3拷贝至网关的/usr/bin目录下。

在网关运行sqlite3

[root@urbetter/]# ./usr/bin/sqlite3

正确运行结果如下所示:


3 应用程序编译

应用程序中使用sqlite接口时,首先必须包含相应的头文件“sqlite3.h”,另外,在编译应用程序时必须在编译参数中加入sqlite动态库的路径,如下所示。

$arm-linux-gcc -o test test.c -L/home/username/temp/ sqlite3.7.11/\

sqlite3.7.11/build/lib-I/home/hwwr/ sqlite-3.7.11\

sqlite3.7.11/build/include-Wall

另外,可以将动态库文件放入到所使用的交叉编译链的路径中:

$ sudocp -rP sqlite3.7.11/build/lib/libsqlite3.* /usr/local/\

arm/4.2.2-eabi/lib/

$ sudocp sqlite3.7.11/build/include/* /usr/local/arm/4.2.2-eabi/\

include/

完成上述配置后,编译应用程序时可使用如下编译参数。

$arm-linux-gcc -o test test.c -lsqlite3 –I/ usr/local/arm/4.2.2-eabi/\include

4在PHP中添加sqlite3支持

编译安装完SQLite,将在build目录下生成相关的头文件以及库文件,所以,可以在编译PHP时加入SQLite的路径。使用PDO方式访问sqlite数据库,并且使sqlite采用UTF-8编码方式,具体配置参数如下所示。

--with-sqlite=shared

--enable-sqlite-utf8

--with-pdo-sqlite=/home/hwwr/share/sqlite-3.7.11/


原创粉丝点击