Home >php教程 >php手册 >基于loongson1b的appweb+php5+sqlite环境搭建

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

WBOY
WBOYOriginal
2016-06-06 19:46:001526browse

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";

?>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn