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