Arm编译php,nginx
1:环境
Php 5.5.30
Nginx 1.0.15
使用环境:ubuntu
编译环境:linux 64 centos7
2:安装包版本
gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.xz
php-5.5.30.tar.gz
pcre-8.30.tar.gz
nginx-1.0.15.tar.gz
libxml2-2.9.4.tar.gz
gperftools-2.1.tar.gz
3:准备工作 编译gcc
解压:
添加环境变量
更新环境变量
验证
如果配置成功会出现下图版本提示
PS:如果出现command not found或者
Theprogram 'arm-linux-gnueabihf-gcc' is currently not installed. You can installit by typing:
aptinstall gcc-arm-linux-gnueabihf
那就有2种可能:
1、最基本的环境变量没设置好,这个解决方法就是export解压后的arm-gcc目录下的bin到环境变量
2、没有更新环境变量
4:编译php
软件版本:php-5.5.30
依赖库:zlib,libxml2
交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux
1:交叉编译libxml2和zlib,扩展arm-linux-gnueabihf的lib库。其中libxml2是PHP5安装必须的库文件。
2:安装libxml2
解压 解压到home目录下
自此libxml2就被安装在了/usr.local/libxml2目录下。
报错处理链接
1.Linux环境下ARM交叉编译找不到libz.so.1的动态库 http://blog.csdn.net/firststars/article/details/46623061
2.error while loading shared libraries: libstdc++.so.6: cannot open sharedobject file: No such file http://blog.csdn.net/wzg_1981/article/details/12647873
3:安装zlib
解压到home目录下 注:CC=arm-linux-gnueabihf
4:交叉编译php
解压到home目录下 注:CC=arm-linux-gnueabihf
Php被安装在/usr/local/php目录下
精简php(arm资源紧张,去掉调试信息)
在php/bin下执行命令 (精简后大小变为几M了)
将编译好的php压缩拷贝到目标版上。
5:编译nginx
Nginx软件版本
Pcre 8.30
Nginx 1.0.15
1:编译pcre
解压进入文件
tar -jxvf pcre-8.30.tar.bz2
chmod -Rf 777 pcre-8.30
cd pcre-8.30
./configureCC=arm-arago-linux-gnueabi-gcc --host=arm-arago-linux-gnueabi--prefix=/home/nginx
make
make install
2.交叉编译nginx
解压进入文件
tar -zxvf nginx-1.0.15.tar.gz
chmod -Rf 777 nginx-1.0.15
cd nginx-1.0.15
打补丁 配置 错误分析 http://blog.csdn.net/lz_obj/article/details/65447321
Nginx安装google_perftools模块的方法 http://blog.csdn.net/yygydjkthh/article/details/46310641