mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-19 05:14:52 +08:00
Add zip extension support
This commit is contained in:
parent
d4b6dbfba3
commit
e240183fa0
@ -2,7 +2,7 @@ FROM alpine:latest
|
|||||||
|
|
||||||
# define script basic information
|
# define script basic information
|
||||||
# Version of this Dockerfile
|
# Version of this Dockerfile
|
||||||
ENV SCRIPT_VERSION=1.4.2
|
ENV SCRIPT_VERSION=1.4.3
|
||||||
# Download address uses backup address
|
# Download address uses backup address
|
||||||
|
|
||||||
ARG USE_BACKUP_ADDRESS
|
ARG USE_BACKUP_ADDRESS
|
||||||
@ -42,6 +42,8 @@ RUN apk add c-ares-static c-ares-dev > /dev/null
|
|||||||
RUN apk add libevent libevent-dev libevent-static > /dev/null
|
RUN apk add libevent libevent-dev libevent-static > /dev/null
|
||||||
# php sqlite3 dependencies
|
# php sqlite3 dependencies
|
||||||
RUN apk add sqlite sqlite-dev sqlite-libs sqlite-static > /dev/null
|
RUN apk add sqlite sqlite-dev sqlite-libs sqlite-static > /dev/null
|
||||||
|
# php libzip dependencies
|
||||||
|
RUN apk add bzip2-dev bzip2-static bzip2
|
||||||
|
|
||||||
RUN mkdir /app
|
RUN mkdir /app
|
||||||
|
|
||||||
@ -61,8 +63,9 @@ RUN ./download.sh swoole ${USE_BACKUP} > /dev/null && \
|
|||||||
./download.sh event ${USE_BACKUP} > /dev/null && \
|
./download.sh event ${USE_BACKUP} > /dev/null && \
|
||||||
./download.sh redis ${USE_BACKUP} > /dev/null && \
|
./download.sh redis ${USE_BACKUP} > /dev/null && \
|
||||||
./download.sh libxml2 ${USE_BACKUP} > /dev/null && \
|
./download.sh libxml2 ${USE_BACKUP} > /dev/null && \
|
||||||
./download.sh liblzma ${USE_BACKUP} > /dev/null && \
|
./download.sh xz ${USE_BACKUP} > /dev/null && \
|
||||||
./download.sh curl ${USE_BACKUP} > /dev/null
|
./download.sh curl ${USE_BACKUP} > /dev/null && \
|
||||||
|
./download.sh libzip ${USE_BACKUP} > /dev/null
|
||||||
|
|
||||||
RUN echo "Downloading PHP ${VER_PHP} ..."
|
RUN echo "Downloading PHP ${VER_PHP} ..."
|
||||||
RUN ./download.sh php ${USE_BACKUP} ${VER_PHP} > /dev/null
|
RUN ./download.sh php ${USE_BACKUP} ${VER_PHP} > /dev/null
|
||||||
|
|||||||
@ -9,11 +9,11 @@ self_dir=$(cd "$(dirname "$0")";pwd)
|
|||||||
php_dir=$(find $self_dir/source -name "php-*" -type d | tail -n1)
|
php_dir=$(find $self_dir/source -name "php-*" -type d | tail -n1)
|
||||||
|
|
||||||
function do_xml_compiler() {
|
function do_xml_compiler() {
|
||||||
cd $self_dir/source/liblzma-* && \
|
cd $self_dir/source/xz-* && \
|
||||||
./configure && \
|
./configure --enable-static=yes && \
|
||||||
make -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
make -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
||||||
make install && \
|
make install && \
|
||||||
echo "liblzma compiled!" && sleep 2s && \
|
echo "xz compiled!" && sleep 2s && \
|
||||||
cd ../libxml2-* && \
|
cd ../libxml2-* && \
|
||||||
./configure --prefix=/usr --with-lzma --without-python && \
|
./configure --prefix=/usr --with-lzma --without-python && \
|
||||||
make -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
make -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
||||||
@ -21,6 +21,16 @@ function do_xml_compiler() {
|
|||||||
echo "libxml2 compiled!" && sleep 2s
|
echo "libxml2 compiled!" && sleep 2s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function do_libzip_compiler() {
|
||||||
|
cd $self_dir/source/libzip-* && \
|
||||||
|
mkdir build && \
|
||||||
|
cd build && \
|
||||||
|
cmake -DBUILD_SHARED_LIBS=no .. -Wno-dev -DENABLE_BZIP2=no -DENABLE_LZMA=no && \
|
||||||
|
make LDFLAGS="-llzma -lbz2" -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
||||||
|
make install && \
|
||||||
|
echo "libzip compiled!" && sleep 2s
|
||||||
|
}
|
||||||
|
|
||||||
function do_curl_compiler() {
|
function do_curl_compiler() {
|
||||||
cd $self_dir/source/curl-* && \
|
cd $self_dir/source/curl-* && \
|
||||||
CC=gcc CXX=g++ CFLAGS=-fPIC CPPFLAGS=-fPIC ./configure \
|
CC=gcc CXX=g++ CFLAGS=-fPIC CPPFLAGS=-fPIC ./configure \
|
||||||
@ -80,6 +90,16 @@ function check_before_configure() {
|
|||||||
sqlite3) ;;
|
sqlite3) ;;
|
||||||
tokenizer) ;;
|
tokenizer) ;;
|
||||||
zlib) ;;
|
zlib) ;;
|
||||||
|
zip)
|
||||||
|
if [ ! -f "$self_dir/source/.libzip_compiled" ]; then
|
||||||
|
do_libzip_compiler
|
||||||
|
touch "$self_dir/source/.libzip_compiled"
|
||||||
|
fi
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
echo "Compile libzip error!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
curl)
|
curl)
|
||||||
if [ ! -f "$self_dir/source/.curl_compiled" ]; then
|
if [ ! -f "$self_dir/source/.curl_compiled" ]; then
|
||||||
do_curl_compiler
|
do_curl_compiler
|
||||||
@ -223,6 +243,7 @@ function check_in_configure() {
|
|||||||
xmlreader) php_configure="$php_configure --enable-xmlreader" ;;
|
xmlreader) php_configure="$php_configure --enable-xmlreader" ;;
|
||||||
xmlwriter) php_configure="$php_configure --enable-xmlwriter" ;;
|
xmlwriter) php_configure="$php_configure --enable-xmlwriter" ;;
|
||||||
zlib) php_configure="$php_configure --with-zlib" ;;
|
zlib) php_configure="$php_configure --with-zlib" ;;
|
||||||
|
zip) php_configure="$php_configure --with-zip" ;;
|
||||||
*)
|
*)
|
||||||
echo "Unsupported extension '$loop' !" >&2
|
echo "Unsupported extension '$loop' !" >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@ -27,6 +27,6 @@ cd $php_dir && \
|
|||||||
$self_dir/check-extensions.sh check_after_configure && \
|
$self_dir/check-extensions.sh check_after_configure && \
|
||||||
sed -ie 's/-export-dynamic//g' "Makefile" && \
|
sed -ie 's/-export-dynamic//g' "Makefile" && \
|
||||||
sed -ie 's/-o $(SAPI_CLI_PATH)/-all-static -o $(SAPI_CLI_PATH)/g' "Makefile" && \
|
sed -ie 's/-o $(SAPI_CLI_PATH)/-all-static -o $(SAPI_CLI_PATH)/g' "Makefile" && \
|
||||||
make LDFLAGS=-ldl -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
make LDFLAGS="-ldl -llzma -lbz2" -j$(cat /proc/cpuinfo | grep processor | wc -l) && \
|
||||||
make install && \
|
make install && \
|
||||||
strip $self_dir/php-dist/bin/php
|
strip $self_dir/php-dist/bin/php
|
||||||
|
|||||||
@ -33,14 +33,19 @@
|
|||||||
"link": "http://mirrors.zhamao.xin/library/libxml2/libxml2-{version}.tar.gz",
|
"link": "http://mirrors.zhamao.xin/library/libxml2/libxml2-{version}.tar.gz",
|
||||||
"link_2": "http://xmlsoft.org/sources/libxml2-{version}.tar.gz"
|
"link_2": "http://xmlsoft.org/sources/libxml2-{version}.tar.gz"
|
||||||
},
|
},
|
||||||
"liblzma": {
|
|
||||||
"version": "master",
|
|
||||||
"link": "https://mirrors.zhamao.xin/library/liblzma/liblzma.tar.gz",
|
|
||||||
"link_2": "https://github.com/kobolabs/liblzma/archive/refs/heads/master.zip"
|
|
||||||
},
|
|
||||||
"curl": {
|
"curl": {
|
||||||
"version": "7.82.0",
|
"version": "7.82.0",
|
||||||
"link": "https://mirrors.zhamao.xin/library/curl/curl-{version}.tar.gz",
|
"link": "https://mirrors.zhamao.xin/library/curl/curl-{version}.tar.gz",
|
||||||
"link_2": "https://curl.haxx.se/download/curl-{version}.tar.gz"
|
"link_2": "https://curl.haxx.se/download/curl-{version}.tar.gz"
|
||||||
|
},
|
||||||
|
"xz": {
|
||||||
|
"version": "5.2.5",
|
||||||
|
"link": "https://mirrors.zhamao.xin/library/xz/xz-{version}.tar.gz",
|
||||||
|
"link_2": "https://tukaani.org/xz/xz-{version}.tar.gz"
|
||||||
|
},
|
||||||
|
"libzip": {
|
||||||
|
"version": "1.8.0",
|
||||||
|
"link": "https://mirrors.zhamao.xin/library/libzip/libzip-{version}.tar.gz",
|
||||||
|
"link_2": "ttps://libzip.org/download/libzip-{version}.tar.gz"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,3 +34,4 @@ xml
|
|||||||
xmlreader
|
xmlreader
|
||||||
xmlwriter
|
xmlwriter
|
||||||
zlib
|
zlib
|
||||||
|
zip
|
||||||
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
# This script needs alpine linux system.
|
# This script needs alpine linux system.
|
||||||
|
|
||||||
VER_PHP="7.4.28"
|
test "$VER_PHP" = "" && VER_PHP="7.4.28"
|
||||||
USE_BACKUP="no"
|
test "$USE_BACKUP" = "" && USE_BACKUP="no"
|
||||||
|
|
||||||
LINK_APK_REPO='mirrors.ustc.edu.cn'
|
LINK_APK_REPO='mirrors.ustc.edu.cn'
|
||||||
LINK_APK_REPO_BAK='dl-cdn.alpinelinux.org'
|
LINK_APK_REPO_BAK='dl-cdn.alpinelinux.org'
|
||||||
@ -18,7 +18,7 @@ fi
|
|||||||
sed -i 's/dl-cdn.alpinelinux.org/'${LINK_APK_REPO}'/g' /etc/apk/repositories
|
sed -i 's/dl-cdn.alpinelinux.org/'${LINK_APK_REPO}'/g' /etc/apk/repositories
|
||||||
|
|
||||||
# build requirements
|
# build requirements
|
||||||
apk add bash wget cmake gcc g++ jq autoconf git libstdc++ linux-headers make m4 libgcc binutils ncurses
|
apk add bash file wget cmake gcc g++ jq autoconf git libstdc++ linux-headers make m4 libgcc binutils ncurses
|
||||||
# php zlib dependencies
|
# php zlib dependencies
|
||||||
apk add zlib-dev zlib-static
|
apk add zlib-dev zlib-static
|
||||||
# php mbstring dependencies
|
# php mbstring dependencies
|
||||||
@ -33,6 +33,8 @@ apk add c-ares-static c-ares-dev
|
|||||||
apk add libevent libevent-dev libevent-static
|
apk add libevent libevent-dev libevent-static
|
||||||
# php sqlite3 dependencies
|
# php sqlite3 dependencies
|
||||||
apk add sqlite sqlite-dev sqlite-libs sqlite-static
|
apk add sqlite sqlite-dev sqlite-libs sqlite-static
|
||||||
|
# php libzip dependencies
|
||||||
|
apk add bzip2-dev bzip2-static bzip2
|
||||||
|
|
||||||
chmod +x download.sh check-extensions.sh compile-php.sh
|
chmod +x download.sh check-extensions.sh compile-php.sh
|
||||||
|
|
||||||
@ -42,8 +44,9 @@ chmod +x download.sh check-extensions.sh compile-php.sh
|
|||||||
./download.sh event ${USE_BACKUP} && \
|
./download.sh event ${USE_BACKUP} && \
|
||||||
./download.sh redis ${USE_BACKUP} && \
|
./download.sh redis ${USE_BACKUP} && \
|
||||||
./download.sh libxml2 ${USE_BACKUP} && \
|
./download.sh libxml2 ${USE_BACKUP} && \
|
||||||
./download.sh liblzma ${USE_BACKUP} && \
|
./download.sh xz ${USE_BACKUP} && \
|
||||||
./download.sh curl ${USE_BACKUP} && \
|
./download.sh curl ${USE_BACKUP} && \
|
||||||
|
./download.sh libzip ${USE_BACKUP} && \
|
||||||
./download.sh php ${USE_BACKUP} ${VER_PHP} && \
|
./download.sh php ${USE_BACKUP} ${VER_PHP} && \
|
||||||
./check-extensions.sh check_before_configure && \
|
./check-extensions.sh check_before_configure && \
|
||||||
./compile-php.sh ${VER_PHP}
|
./compile-php.sh ${VER_PHP}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
USE_BACKUP="no"
|
test "$USE_BACKUP" = "" && USE_BACKUP="no"
|
||||||
|
|
||||||
LINK_APK_REPO='mirrors.ustc.edu.cn'
|
LINK_APK_REPO='mirrors.ustc.edu.cn'
|
||||||
LINK_APK_REPO_BAK='dl-cdn.alpinelinux.org'
|
LINK_APK_REPO_BAK='dl-cdn.alpinelinux.org'
|
||||||
@ -15,7 +15,7 @@ fi
|
|||||||
sed -i 's/dl-cdn.alpinelinux.org/'${LINK_APK_REPO}'/g' /etc/apk/repositories
|
sed -i 's/dl-cdn.alpinelinux.org/'${LINK_APK_REPO}'/g' /etc/apk/repositories
|
||||||
|
|
||||||
# build requirements
|
# build requirements
|
||||||
apk add bash wget cmake gcc g++ jq autoconf git libstdc++ linux-headers make m4 libgcc binutils ncurses
|
apk add bash file wget cmake gcc g++ jq autoconf git libstdc++ linux-headers make m4 libgcc binutils ncurses
|
||||||
# php zlib dependencies
|
# php zlib dependencies
|
||||||
apk add zlib-dev zlib-static
|
apk add zlib-dev zlib-static
|
||||||
# php mbstring dependencies
|
# php mbstring dependencies
|
||||||
@ -30,6 +30,8 @@ apk add c-ares-static c-ares-dev
|
|||||||
apk add libevent libevent-dev libevent-static
|
apk add libevent libevent-dev libevent-static
|
||||||
# php sqlite3 dependencies
|
# php sqlite3 dependencies
|
||||||
apk add sqlite sqlite-dev sqlite-libs sqlite-static
|
apk add sqlite sqlite-dev sqlite-libs sqlite-static
|
||||||
|
# php libzip dependencies
|
||||||
|
apk add bzip2-dev bzip2-static bzip2
|
||||||
|
|
||||||
chmod +x download.sh check-extensions.sh compile-php.sh
|
chmod +x download.sh check-extensions.sh compile-php.sh
|
||||||
|
|
||||||
@ -39,14 +41,15 @@ chmod +x download.sh check-extensions.sh compile-php.sh
|
|||||||
./download.sh event ${USE_BACKUP} && \
|
./download.sh event ${USE_BACKUP} && \
|
||||||
./download.sh redis ${USE_BACKUP} && \
|
./download.sh redis ${USE_BACKUP} && \
|
||||||
./download.sh libxml2 ${USE_BACKUP} && \
|
./download.sh libxml2 ${USE_BACKUP} && \
|
||||||
./download.sh liblzma ${USE_BACKUP} && \
|
./download.sh xz ${USE_BACKUP} && \
|
||||||
./download.sh curl ${USE_BACKUP}
|
./download.sh curl ${USE_BACKUP} && \
|
||||||
|
./download.sh libzip ${USE_BACKUP}
|
||||||
|
|
||||||
if [ ! -d "multi-build" ]; then
|
if [ ! -d "multi-build" ]; then
|
||||||
mkdir ./multi-build
|
mkdir ./multi-build
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for VER_PHP in "7.2.34" "7.3.29" "7.4.21" "8.0.8"
|
for VER_PHP in "7.2.34" "7.3.33" "7.4.29" "8.0.18" "8.1.5"
|
||||||
do
|
do
|
||||||
./download.sh swoole ${USE_BACKUP} && \
|
./download.sh swoole ${USE_BACKUP} && \
|
||||||
./download.sh inotify ${USE_BACKUP} && \
|
./download.sh inotify ${USE_BACKUP} && \
|
||||||
@ -54,8 +57,9 @@ do
|
|||||||
./download.sh event ${USE_BACKUP} && \
|
./download.sh event ${USE_BACKUP} && \
|
||||||
./download.sh redis ${USE_BACKUP} && \
|
./download.sh redis ${USE_BACKUP} && \
|
||||||
./download.sh libxml2 ${USE_BACKUP} && \
|
./download.sh libxml2 ${USE_BACKUP} && \
|
||||||
./download.sh liblzma ${USE_BACKUP} && \
|
./download.sh xz ${USE_BACKUP} && \
|
||||||
./download.sh curl ${USE_BACKUP} && \
|
./download.sh curl ${USE_BACKUP} && \
|
||||||
|
./download.sh libzip ${USE_BACKUP} && \
|
||||||
./download.sh php ${USE_BACKUP} ${VER_PHP} && \
|
./download.sh php ${USE_BACKUP} ${VER_PHP} && \
|
||||||
./check-extensions.sh check_before_configure && \
|
./check-extensions.sh check_before_configure && \
|
||||||
./compile-php.sh ${VER_PHP} && \
|
./compile-php.sh ${VER_PHP} && \
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user