arm linux php,Arm-Linux 移植 php

1.概述:

本篇文章继上一篇继续讲解nginx+php+sqlite到ARM Linux平台的移植和验证。

1

2.交叉编译依赖库

2.1交叉编译zlib

下载地址:http://download.csdn.net/detail/b404587/3750737

1.tar -xvzf zlib-1.2.3.tar.gz

2.chmod -Rf 777 zlib-1.2.3

3.cd zlib-1.2.3

4../configure –shared –prefix=/home/armzlib

5.修改Makefile文件

CC=gcc 改为 CC=arm-none-linux-gnueabi-gcc

LDSHARED=gcc -shared -Wl,-soname,libz.so.1 改为 LDSHARED=arm-none-linux-gnueabi-gcc -shared -Wl,-soname,libz.so.1

CPP=gcc -E 改为 CPP=arm-none-linux-gnueabi-gcc -E

AR=ar rc 改为 AR=arm-none-linux-gnueabi-ar rc

RANLIB=ranlib 改为 RANLIB=arm-none-linux-gnueabi-ranlib

6.make

7.make install

8.编译好的库和头文件在/home/armzlib中

2.2交叉编译libxml2

下载地址:https://sourceforge.net/projects/gnuwin32/files/zlib/1.2.3/

1.tar -xvzf libxml2-2.6.30.tar.gz

2.chmod -Rf 777 libxml2-2.6.30

3.cd libxml2-2.6.30

4../configure –host=arm-none-linux-gnueabi –prefix=/home/armlibxml2

5.make

6.make install

7.编译好的库和头文件在/home/armlibxml2中

2.3交叉编译libiconv

下载地址:http://ftp.gnu.org/pub/gnu/libiconv/

1.tar -xvzf libiconv-1.14.tar.gz

2.chmod -Rf 777 libiconv-1.14

3../configure –host=arm-none-linux-gnueabi –prefix=/home/armlibiconv

4.make

5.make install

6.编译好的库和头文件在/home/armlibiconv中

3.交叉编译PHP

PC端交叉编译版本的路径最好与之后解压到网关中的路径相同,这样可以减少路径问题带来的麻烦。比如./configure –prefix=/xxx/armphp 之后armphp也要解压到网关的/home下

1.cp php-5.4.27.tar.gz /home

2.cd /home

3.tar -xvzf php-5.4.27.tar.gz

4.chmod -Rf 777 php-5.4.27

5.cd php-5.4.27

6../configure –host=arm-none-linux-gnueabi –prefix=/home/armphp

–enable-shared –enable-fpm –with-fpm-user=root –with-fpm-group=root

–with-zlib-dir=/home/armzlib –with-libxml-dir=/home/armlibxml2

–with-iconv-dir=/home/armlibiconv –disable-phar

此处特殊说明下:

我们可以./configure -h来查看php configure help,此处有配置参数说明

发现sqlite和pdosqlite只有without选项,说明如果不特殊指定without这2个参数,这两项是默认安装的。

Nginx默认不支持CGI模式,它是以FastCGI方式运行的。所以使用Nginx+PHP就是直接配置为FastCGI模式(php-fpm)

这里都选择了依赖库的安装目录,如果还需要其他依赖库需要提前编译好,再指定路径。

7.1修改Makefile

CFLAGS_CLEAN = -I/usr/include -g -O2 -fvisibility=hidden 修改为 CFLAGS_CLEAN = -I[交叉编译工具的头文件路径] -g -O2 -fvisibility=hidden

7.2删除掉“install-pear:”下全部内容

8.make

9.make install

10.编译好的php相关库和文件在中/home/armphp中,

cp /home/php-5.4.27/php.ini-production /home/armphp/etc/php.ini

11.将/home/armphp压缩,zip -ry /home/armphp.zip armphp/

以下操作在ARM网关中完成

12.将php依赖的动态库armzlib,armlibxml2 ,armlibiconv移动到开发板中(注意软连接的保持)。

13.在开发板中/home下解压armphp.zip

14配置php

14.1修改php.ini

cgi.fix_pathinfo=1修改为cgi.fix_pathinfo=0

14.2修改php-fpm.conf

mv /home/armphp/etc/php-fpm.conf.default /home/armphp/etc/php-fpm.conf

15.执行php-fpm:

php-fpm -R

成功启动说明php移植成功。

16.修改nginx.conf配置(此步骤省略)

4.运行截图

4.1

phpinfo();

?>

1

2

3

4.2sqlite方面验证

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值