arm php 运行环境,移植appweb+php5+sqlite3到ARM LINUX

一、主机环境

Linux version 3.13.0-116-generic(Ubuntu 14.04)

gcc version 4.8.4

arm-linux-gnueabihf

二、相关源码下载

zlib-1.2.3.tar.gz

libxml2-2.7.8.tar.gz

appweb-3.3.2-0-src.tgz

php-5.2.17.tar.gz

sqlite-autoconf-3220000.tar.gz

下载连接:

链接: https://pan.baidu.com/s/195ymiNR4MhTsRoA6RJtPbA 密码: 4w88

三、建立交叉编译环境

1、移植交叉编译器到宿主机

2、设置好环境变量

打开配置文件

$ sudo gedit /etc/profile

//设置交叉编译器的路径

export PATH=$PATH:/opt/A6G2C/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin

# 配置编译器

export CC=arm-linux-gnueabihf-gcc

export AR=arm-linux-gnueabihf-ar

export LD=arm-linux-gnueabihf-ld

export RANLIB=arm-linux-gnueabihf-ranlib

export STRIP=arm-linux-gnueabihf-strip

export CC_FOR_BULID=gcc

保存文件并关闭。

3、使环境变量立即生效

$ source /etc/profile

4、测试编译环境是否安装成功

$ which arm-linux-gnueabihf--gcc

如果显示/opt/A6G2C/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf--gcc表示安装成功

5、下载的5个文件到/opt/webAPP/6G2C/目录

四、编译代码

1、移植zlib

解压zlib-1.2.3.tar.gz

$ tar xzvf zlib-1.2.3.tar.gz

进入目录

$ cd zlib/1.2.3

$ ./configure --prefix=/opt/webAPP/6G2C/arm/zlib --shared--enable

加上 --shared--enable 会生成libz.so.1.2.3 动态库

执行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=/opt/webAPP/6G2C/arm/libxml2 --host=arm-linux-gnueabihf

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

$ make&&make install

3、移植sqlite3

解压sqlite-autoconf-3220000.tar.gz

$ tar xzvf  sqlite-autoconf-3220000.tar.gz

进入目录

$ cd sqlite-autoconf-3220000

配置sqlite3

$ ./configure --prefix=/opt/webAPP/6G2C/arm/sqlite3 --host=arm-linux-gnueabihf

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

$ make&&make install

4、移植php5

解压php-5.2.17.tar.gz

$ tar xjvf  php-5.2.17.tar.gz

进入目录

$ cdphp-5.2.17

配置php5

$ ./configure --prefix=/opt/webAPP/6G2C/arm/php5 --host=arm-linux-gnueabihf --with-sqlite=shared --enable-pdo=shared  --with-pdo-sqlite=shared  --with-libxml-dir=/opt/webAPP/6G2C/arm/libxml2 --with-zlib-dir=/opt/webAPP/6G2C/arm/zlib  --disable-all --enable-pdo-=shared --enable-pdo-sqlite --enable-pdo-sqlite-utf8 --enable-embed=shared --with-sqlite3=/opt/webAPP/6G2C/arm/sqlite3 --with-config-file-path=/mnt/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的头文件。

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

./configure --prefix=/opt/webAPP/6G2C/arm/matrixssl --host=arm-linux-gnueabihf

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

$ make&&make install

6、移植appweb

解压appweb-3.3.2-0-src.tgz

$ tar xzvfappweb-3.3.2-0-src.tgz

进入目录

$ cd appweb-3.3.2

配置appweb

$ ./configure --host=arm-linux-gnueabihf --build=i686-pc-linux  --port=80 --disable-multi-thread --type=RELEASE --enable-shared --shared --disable-static --prefix=/opt/webAPP/6G2C/arm/appweb --webDir=/opt/web --disable-test --disable-samples --with-php=/opt/webAPP/6G2C/php-5.2.17 --sysconfdir=/opt/webAPP/6G2C/arm/appweb/

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

$ sudo make&&make install

四、复制文件并配置网站

1、准备文件

$  mkdir cd /opt/webAPP/6G2C

$ mkdir appweb

$  cd  appweb

$  cp -rf /opt/webAPP/6G2C/arm/appweb/lib/appweb/bin /opt/webAPP/6G2C/arm/appweb/lib/appweb/lib /opt/webAPP/6G2C/arm/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 ./

$ arm-linux-gnueabihf-strip bin/* modules/* lib/*

2、修改appweb.conf

$ gedit appweb.conf

修改ServerRoot "/etc/appweb"为ServerRoot "/usr/local/appweb" 为你移植的目录

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

修改LoadModulePath "/mnt/appweb/lib/appweb/modules"为LoadModulePath "/mnt/appweb/modules"

修改User nobody 为   User root   否则会出现无法创建和打开数据库

3、修改php.ini

$ gedit php.ini

在extension=php_zip;的下面添加如下配置

extension=pdo.so

extension=pdo_sqlite.so

extension=sqlite.so

修改extension_dir = "/usr/local/appweb/lib"

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

拷贝/etc/init.d/appweb 到目标板的 /etc/init.d/ 目录 并重命名为S82appweb 增加S开头是开机自启动 82 代表启动顺序             (致远开发板)

5、拷贝libz.so.1.2.3、libxml2.so.2.7.8、librt-2.3.2.so、libdl-2.3.2.so、libcrypt-2.3.2.so到/lib并创建符号链接

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

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

$cd /usr/local/appweb

$chmod +x ./bin/appweb

$./bin/appweb --config appweb.conf

参考:http://blog.csdn.net/ysj265/article/details/7251080

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值