ARM上移植PHP5.5.30

1、交叉编译libxml2和zlib,扩展arm-linux-gcc的lib库。其中libxml2是PHP5安装必须的库文件。

1.1 安装libxml2.

解压缩libxml2-2.7.8.tar.gz到home目录下。

tar zxvf libxml2-2.7.8.tar.gz -C /home
cd /home/libxml2-2.7.8
CC=arm-linux-gcc
./configure --host=arm-linux --prefix=/usr/local/libxml2
make
make install
自此libxml2就被安装在了/usr.local/libxml2目录下。

1.2 安装zlib

解压缩zlib-1.2.5.1.tar.gz到home目录下。

tar zxvf zlib-1.2.5.1.tar.gz -C /home
cd /home/zlib-1.2.5.1
CC=arm-linux
./configure --prefix=/usr/local/zlib
make 
make install
自此zlib就安装在了/usr/local/zlib目录下。


2、交叉编译PHP

解压缩php-5.5.30.tar.gz到home目录下。

tar zxvf php-5.5.30.tar.gz -C /home
cd /home/php-5.5.30
CC=arm-linux
./configure --host=arm-linux --prefix=/usr/local/php --disable-all --enable-sockets --with-libxml-dir=/usr/local/libxml2 --with-zlib-dir=/usr/local/zlib
make
make install
自此php就被安装在了/usr/loal/php目录下。
我可以看到php/bin目录下php和php-cgi加起来有20多M。因为arm资源紧张,我们需要精简PHP,去掉调试信息。在php/bin/执行以下命令:

arm-linux-strip php
arm-linux-strip php-cgi
执行上面两条命令后再看一下php和php-cgi的文件大小只有几M了。


  3、将编译好的PHP拷贝到目标板上

cd /usr/local
tar zcvf php.tar.gz php/*
将php.tar.gz通过NFS拷贝到目标板上的/usr/local目录下。

cd /usr/local
tar zxvf php.tar.gz
最终php就成功移植到了目标板上。此时接可以将目标板的php.tar.gz删除掉了。


4、说明

         在宿主机上解压php-5.5.30.tar.gz后,会有php.ini-development和php.ini-production两个文件。这就是所谓的php.ini配置文件。我们需要将php.ini-development拷贝到目标板上的/usr/local/php/libs目录下。并将文件名改为php.ini。  本文并没有讲述php.ini文件的配置。相关的配置大家可以去网上搜搜。一般情况下默认的就可以了。






  

你可能感兴趣的:(web,嵌入式,arm,php,移植,交叉编译)