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

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 <dlfcn.h> ,这个是dlopen的头文件。

#if defined(HAVE_LIBDL) || HAVE_MACH_O_DYLD_H   

#include <stdlib.h>     

#include <stdio.h>      

#include <dlfcn.h>  

 执行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


测试:

<?php

echo"hello";

?>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值