mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 12:54:52 +08:00
109 lines
3.5 KiB
Bash
109 lines
3.5 KiB
Bash
|
|
#!/bin/sh
|
||
|
|
|
||
|
|
_use_backup="$2"
|
||
|
|
|
||
|
|
function download_file() {
|
||
|
|
downloader="wget"
|
||
|
|
type wget >/dev/null 2>&1 || { downloader="curl"; }
|
||
|
|
if [ "$downloader" = "wget" ]; then
|
||
|
|
_down_prefix="O"
|
||
|
|
else
|
||
|
|
_down_prefix="o"
|
||
|
|
fi
|
||
|
|
_down_symbol=0
|
||
|
|
if [ ! -f "$2" ]; then
|
||
|
|
$downloader "$1" -$_down_prefix "$2" >/dev/null 2>&1 && \
|
||
|
|
echo "$1 完成! $2" && _down_symbol=1
|
||
|
|
else
|
||
|
|
echo "$2 已存在!" && _down_symbol=1
|
||
|
|
fi
|
||
|
|
if [ $_down_symbol == 0 ]; then
|
||
|
|
echo "下载 $1 失败!请检查网络连接!"
|
||
|
|
rm -rf "$2"
|
||
|
|
return 1
|
||
|
|
fi
|
||
|
|
return 0
|
||
|
|
}
|
||
|
|
|
||
|
|
function lib_download_link() {
|
||
|
|
if [ "$_use_backup" = "yes" ]; then
|
||
|
|
case $1 in
|
||
|
|
"php") echo "https://www.php.net/distributions/php-$2.tar.gz" ;;
|
||
|
|
"swoole") echo "https://pecl.php.net/get/swoole-$2.tgz" ;;
|
||
|
|
"hash") echo "https://pecl.php.net/get/hash-$2.tgz" ;;
|
||
|
|
"inotify") echo "https://pecl.php.net/get/inotify-$2.tgz" ;;
|
||
|
|
"redis") echo "https://pecl.php.net/get/redis-$2.tgz" ;;
|
||
|
|
"libxml2") echo "http://xmlsoft.org/sources/libxml2-$2.tar.gz" ;;
|
||
|
|
"liblzma") echo "https://github.com/kobolabs/liblzma/archive/refs/heads/master.zip" ;;
|
||
|
|
"curl") echo "https://curl.haxx.se/download/curl-$2.tar.gz" ;;
|
||
|
|
*) echo "unknown" ;;
|
||
|
|
esac
|
||
|
|
else
|
||
|
|
case $1 in
|
||
|
|
"php") echo "http://mirrors.zhamao.xin/php/php-$2.tar.gz" ;;
|
||
|
|
"swoole") echo "http://mirrors.zhamao.xin/pecl/swoole-$2.tgz" ;;
|
||
|
|
"hash") echo "http://mirrors.zhamao.xin/pecl/hash-$2.tgz" ;;
|
||
|
|
"inotify") echo "http://mirrors.zhamao.xin/pecl/inotify-$2.tgz" ;;
|
||
|
|
"redis") echo "http://mirrors.zhamao.xin/pecl/redis-$2.tgz" ;;
|
||
|
|
"libxml2") echo "https://dl.zhamao.me/libxml2/libxml2-$2.tar.gz" ;;
|
||
|
|
"liblzma") echo "https://dl.zhamao.me/liblzma/liblzma.tar.gz" ;;
|
||
|
|
"curl") echo "https://dl.zhamao.me/curl/curl-$2.tar.gz" ;;
|
||
|
|
*) echo "unknown" ;;
|
||
|
|
esac
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
function lib_x_cmd() {
|
||
|
|
case $1 in
|
||
|
|
"php"|"swoole"|"hash"|"inotify"|"redis"|"libxml2"|"curl")
|
||
|
|
_x_cmd="tar"
|
||
|
|
;;
|
||
|
|
"liblzma") if [ "$_use_backup" = "yes" ]; then _x_cmd="unzip"; else _x_cmd="tar"; fi ;;
|
||
|
|
*) _x_cmd="unknown" ;;
|
||
|
|
esac
|
||
|
|
case $2 in
|
||
|
|
"cmd")
|
||
|
|
echo $_x_cmd
|
||
|
|
;;
|
||
|
|
"file-prefix")
|
||
|
|
case $_x_cmd in
|
||
|
|
"tar") echo "-zxvf" ;;
|
||
|
|
"unzip") echo "" ;;
|
||
|
|
esac
|
||
|
|
;;
|
||
|
|
"out-prefix")
|
||
|
|
case $_x_cmd in
|
||
|
|
"tar") echo "-C" ;;
|
||
|
|
"unzip") echo "-d" ;;
|
||
|
|
esac
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
}
|
||
|
|
|
||
|
|
function lib_x() {
|
||
|
|
$(lib_x_cmd $1 cmd) $(lib_x_cmd $1 file-prefix) "$_source_dir/$(lib_x_dirname $1 file)" $(lib_x_cmd $1 out-prefix) "$_source_dir/"
|
||
|
|
}
|
||
|
|
|
||
|
|
# 获取解压后的源码根目录
|
||
|
|
function lib_x_dirname() {
|
||
|
|
case $1 in
|
||
|
|
"php"|"swoole"|"hash"|"inotify"|"redis"|"libxml2"|"curl")
|
||
|
|
if [ "$2" = "file" ]; then _name_prefix=".tar.gz"; else _name_prefix=""; fi
|
||
|
|
echo "$1-$(lib_ver $1)$_name_prefix"
|
||
|
|
;;
|
||
|
|
"liblzma")
|
||
|
|
if [ "$_use_backup" = "yes" ]; then
|
||
|
|
if [ "$2" = "file" ]; then _name_prefix=".zip"; else _name_prefix=""; fi
|
||
|
|
echo "$1-$(lib_ver $1)$_name_prefix"
|
||
|
|
else
|
||
|
|
if [ "$2" = "file" ]; then _name_prefix=".tar.gz"; else _name_prefix=""; fi
|
||
|
|
echo "$1""$_name_prefix"
|
||
|
|
fi
|
||
|
|
;;
|
||
|
|
*)
|
||
|
|
echo "unknown"
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
}
|
||
|
|
|
||
|
|
download_file $(lib_download_link $1 $3) $(lib_x_firname $1 file)
|