日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

php 移植 arm 精简,arm linux 移植 PHP

發(fā)布時間:2025/3/12 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 移植 arm 精简,arm linux 移植 PHP 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景:

PHP 是世界上最好的語言,所以要考慮php的移植。

host平臺   :Ubuntu 16.04

arm平臺   : 3531d

arm-gcc   :4.9.4

主機(jī)準(zhǔn)備:

使用以下腳本

##

# Copyright By Schips, All Rights Reserved

# https://gitee.com/schips/

# File Name: make.sh

# Created : Fri 22 Nov 2019 10:38:53 AM CST

##

#!/bin/sh

HOST=arm-hisiv500-linux

PHP=php-7.1.30

ZLIB=zlib-1.2.11

XML2=libxml2-2.9.9

ICONV=libiconv-1.15

FIN_INSTALL=/usr/${PHP}

BASE=`pwd`

OUTPUT_PATH=${BASE}/install

ARM_GCC=${HOST}-gcc

make_dirs () {

cd ${BASE}

mkdir compressed install source -p

}

download_package () {

cd ${BASE}/compressed

wget http://mirrors.sohu.com/php/${PHP}.tar.gz

wget -c https://www.zlib.net/${ZLIB}.tar.gz

wget -c http://distfiles.macports.org/libxml2/${XML2}.tar.gz

wget http://ftp.gnu.org/pub/gnu/libiconv/${ICONV}.tar.gz

}

tar_package () {

cd ${BASE}/compressed

ls * > /tmp/list.txt

for TAR in `cat /tmp/list.txt`

do

tar -xf $TAR -C ../source

done

rm -rf /tmp/list.txt

}

make_zlib () {

cd ${BASE}/source/${ZLIB}

CC=${ARM_GCC} ./configure --prefix=${OUTPUT_PATH}/${ZLIB} && make && make install

}

make_xml2 () {

cd ${BASE}/source/${XML2}

./configure \

--without-zlib \

--without-lzma \

--without-python \

--prefix=${OUTPUT_PATH}/${XML2} \

--host=${HOST} && make && make install

}

make_iconv () {

cd ${BASE}/source/${ICONV}

./configure --host=${HOST} \

--prefix=${OUTPUT_PATH}/${ICONV} && make && make install

}

configure_php () {

cd ${BASE}/source/${PHP}

./configure \

--prefix=${FIN_INSTALL} \

--host=${HOST} \

--libdir=/tmp \

--datadir=/tmp \

--includedir=/tmp \

--oldincludedir=/tmp \

--datarootdir=/tmp \

--sharedstatedir=/tmp \

--libexecdir=${FIN_INSTALL}/libexec \

--with-config-file-path=${FIN_INSTALL}/etc \

--localstatedir=${FIN_INSTALL}/var \

--bindir=${FIN_INSTALL}/bin \

--sbindir=${FIN_INSTALL}/sbin \

--sysconfdir=${FIN_INSTALL}/etc \

--runstatedir=${FIN_INSTALL}/var/run \

--with-config-file-scan-dir=${FIN_INSTALL}/etc/php-fpm.d \

--disable-all \

--disable-phpdbg \

--enable-cgi \

--enable-json \

--enable-posix \

--enable-pcntl \

--enable-session \

--enable-fpm \

--enable-libxml \

--enable-dom \

--enable-hash \

--with-sqlite3 \

--enable-zip \

--enable-ctype \

--enable-simplexml \

--with-zlib=${OUTPUT_PATH}/${ZLIB} \

--with-libxml-dir=${OUTPUT_PATH}/${XML2} \

--with-iconv-dir=${OUTPUT_PATH}/${ICONV} \

--enable-xml \

--enable-mbstring \

--enable-xmlreader && echo "${FIN_INSTALL} with ${HOST}" > readme

}

make_php () {

cd ${BASE}/source/${PHP}

make -j4 && sudo make install && sudo mv readme ${FIN_INSTALL}/readme

sudo mv ${FIN_INSTALL} ${OUTPUT_PATH}/${PHP}

cd ${BASE}/install/${PHP}/ && sudo rm lib php -rf

cd ${BASE}

}

make_dirs

sudo ls

#download_package

tar_package

make_zlib

make_xml2

make_iconv

configure_php

make_php

自此,編譯完成

arm板準(zhǔn)備

將php依賴的動態(tài)庫zlib,libxml2 ,libiconv移動到開發(fā)板中(注意軟連接的保持)。

測試(在arm板子上)

進(jìn)入php/bin

./php -i

此后,可以進(jìn)行與nginx搭配等配置(略)

附錄:優(yōu)化體積的可選步驟

strip處理:

${HOST}-strip php

UPX處理:

upx php

? Ultimate Packer for eXecutables

? Copyright (C) 1996 - 2013

UPX 3.91 Markus Oberhumer, Laszlo Molnar & John Reiser Sep 30th 2013

? File size Ratio Format Name

-------------------- ------ ----------- -----------

3679836 -> 1357148 36.88% linux/armel php

Packed 1 file.

標(biāo)簽:enable,make,BASE,INSTALL,linux,PHP,FIN,arm,php

來源: https://www.cnblogs.com/schips/p/12170702.html

總結(jié)

以上是生活随笔為你收集整理的php 移植 arm 精简,arm linux 移植 PHP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。