欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

基于loongson1b的appweb+php5+sqlite环境搭建

程序员文章站 2022-05-22 20:58:25
...

Appwebphp5sqliteforloongson1b(mips) 一、主机环境 Linuxversion2.6.35 ( Ubuntu10.10 ) gccversion4.4.5 mipsel -linux-gcc3.4. 6 二、相关源码下载 zlib-1.2.3.tar.gz http://download.csdn.net/detail/u012846431/7178235 libxml2-2.7.8.tar.gz http:/

Appweb+php5+sqlite for loongson1b(mips)

一、主机环境

Linux version 2.6.35Ubuntu 10.10

gcc version 4.4.5

mipsel-linux-gcc 3.4.6

二、相关源码下载

zlib-1.2.3.tar.gz

http://download.csdn.net/detail/u012846431/7178235

libxml2-2.7.8.tar.gz

http://download.csdn.net/detail/u012846431/7178249

appweb-src-3.3.2-0.tgz

http://download.csdn.net/detail/u012846431/7178209

php-5.3.10.tar.bz2

http://download.csdn.net/detail/u012846431/7178305

sqlite-3.3.9.tar.gz

http://download.csdn.net/detail/u012846431/7493551

matrixssl-1.8.3.tar.gz

http://download.csdn.net/detail/u012846431/7178223

三、设置环境

$ export PATH=/opt/gcc-4.4/:bin:$PATH
$ export CC=mipsel-linux-gcc
$ export AR=mipsel-linux-ar
$ export LD=mipsel-linux-ld
$ export NM=mipsel-linux-nm
$ export STRIP=mipsel-linux-strip
$ export RANLIB=mipsel-linux-ranlib

四、编译代码

1、移植zlib

解压zlib-1.2.3.tar.gz

$ tar xzvf zlib-1.2.3.tar.gz

进入目录

$ cd zlib/1.2.3

修改Makefile

$ gedit Makefile

CC=cc 修改成CC=mipsel-linux-gcc

AR=ar修改成AR=mipsel-linux-ar

RANLIB=ranlib修改成AR=mipsel-linux-ranlib

保存并关闭gedit

执行make&&make install即可完成zlib移植

$ make&&make install

2、移植libxml2

解压libxml2-2.7.8.tar.gz

$ tar xzvf libxml2-2.7.8.tar.gz

进入目录

$ cd libxml2-2.7.8

配置ibxml2

$ ./configure --prefix=/usr/local/libxml2 --host=mipsel-linux

执行make&&make install即可完成libxml2移植

$ make&&make install

3、移植sqlite

解压sqlite-3.3.9.tar.gz

$ tar xzvf sqlite-3.3.9.tar.gz

进入目录

$ cd sqlite-3.3.10

配置sqlite

$ ./configure --prefix=/usr/local/sqlite --host=mipsel-linux --disable-tcl

中间会出现找不到交叉编译工具之类的提示,进入configure把其中提示的语句以下的

exit 1;exit 1改成echo 1;echo1 跳过就好

执行make&&make install即可完成sqlite3移植

$ make&&make install

4、移植php5

解压php-5.3.10.tar.bz2

$ tar xjvf php-5.3.10.tar.bz2

进入目录

$ cd php-5.3.10

配置php5

$ ./configure --prefix=/usr/local/php5 --host=mipsel-linux --disable-all --with-sqlite=shared --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite3 --with-libxml-dir=/usr/local/libxml2 --with-zlib-dir=/usr/local/zlib --enable-embed=shared --with-config-file-path=/usr/local/appweb --with-config-file-scan-dir=/usr/local/appweb --enable-session

修改Makefile

$ gedit Makefile

首先在开始出添加LDFLAGS += -ldl ,这里是为了链接dlopen库。

然后修改main/php.h 在开始处添加#define HAVE_LIBDL 1 ,这个宏是为了交叉编译时强制使用dlopen

紧接着修改ext/standard/dl.c ,这段代码中添加#include ,这个是dlopen的头文件。

#if defined(HAVE_LIBDL) || HAVE_MACH_O_DYLD_H

#include

#include

#include

执行make&&make install即可完成php5移植

$ make&&make install

5、移植matrixssl

解压matrixssl-1.8.3.tar.gz

$ tar xzvf matrixssl-1.8.3.tar.gz

进入目录

$ cd matrixssl-1.8.3/matrixssl/src

修改Makefile

$ gedit Makefile

CC=cc 修改成CC=mipsel-linux-gcc

AR=ar rc修改成AR=mipsel-linux-ar rc

RANLIB=ranlib修改成AR=mipsel-linux-ranlib

STRIP=strip修改成AR=mipsel-linux-strip

保存并关闭gedit

执行make&&make install即可完成matrixssl移植

$ make&&make install

6、移植appweb

解压appweb-3.3.2.tgz

$ tar xzvf appweb-3.3.2.tgz

进入目录

$ cd appweb-3.3.2

配置appweb

$ ./configure --host=mipsel-linux --build=i686-pc-linux --enable-shared --shared --disable-static --port=80 --disable-multi-thread --type=RELEASE --prefix=/usr/local/appweb --webDir=/home/web --disable-test --disable-samples --with-php=/home/wain/tools/php-5.3.10 --with-matrixssl=/home/ysj265/arm/code/matrixssl-1.8.3/matrixssl

执行make&&make install即可完成appweb移植

$ sudo make&&make install

四、复制文件并配置网站

1、准备文件,通过nfs拷贝至开发板

$ mkdir /home/wain/nfs/appweb

$ cd /home/wain/nfs/appweb

$ cp -rf /usr/local/appweb/lib/appweb/bin /usr/local/appweb/lib/appweb/lib

/usr/local/appweb/lib/appweb/modules .

$ cp -rf /etc/appweb/conf /etc/appweb/ssl /etc/appweb/appweb.conf /etc/appweb/groups.db /etc/appweb/mime.types /etc/appweb/php.ini /etc/appweb/users.db .

$ mipsel-linux-strip bin/* modules/* lib/*


2、修改appweb.conf

$ gedit appweb.conf

修改ServerRoot "/etc/appweb"ServerRoot "/usr/local/appweb"

修改DocumentRoot "/home/web"为您的网站目录

修改LoadModulePath "/usr/localappweb/lib/appweb/modules"

LoadModulePath "/usr/local/appweb/modules"

3、修改php.ini

$ gedit php.ini

修改extension_dir = "/usr/local/appweb/lib",并在下面添加如下配置

extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so

4、将php下lib/php/extension/../pdo.so,pdo_sqlite.so,sqlite.so拷贝到appweb/lib/目录中

5、拷贝appweb到目标板的/usr/local/目录

6、注册环境变量并启动服务

$ cp /usr/local/appweb/bin/appweb /bin/
$ chmod +x /bin/appweb

在/etc/profile加入

$ export LD_LIBRARY_PATH=/usr/local/appweb/lib:$LD_LIBRARY_PATH

$ ./bin/appweb --config /usr/local/appweb/appweb.conf &

$source /etc/profile


测试:

echo"hello";

?>