From a96a36b08764ac5e158c123ecca0fd0617e04b2a Mon Sep 17 00:00:00 2001 From: midoks Date: Mon, 21 Aug 2023 19:02:52 +0800 Subject: [PATCH] Create install.sh --- plugins/php/versions/83/install.sh | 156 +++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 plugins/php/versions/83/install.sh diff --git a/plugins/php/versions/83/install.sh b/plugins/php/versions/83/install.sh new file mode 100755 index 000000000..0baff85fb --- /dev/null +++ b/plugins/php/versions/83/install.sh @@ -0,0 +1,156 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH + +curPath=`pwd` +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") +sourcePath=${serverPath}/source +sysName=`uname` +install_tmp=${rootPath}/tmp/mw_install.pl + +function version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; } +function version_le() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" == "$1"; } +function version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; } +function version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; } + +version=php-8.3.0alpha2 +PHP_VER=83 +Install_php() +{ +#------------------------ install start ------------------------------------# +echo "安装php-${version} ..." > $install_tmp +mkdir -p $sourcePath/php +mkdir -p $serverPath/php + +cd ${rootPath}/plugins/php/lib && /bin/bash freetype_new.sh +cd ${rootPath}/plugins/php/lib && /bin/bash zlib.sh + +# redat ge 8 +which yum +if [ "$?" == "0" ];then + cd ${rootPath}/plugins/php/lib && /bin/bash oniguruma.sh +fi + +if [ ! -d $sourcePath/php/php${PHP_VER} ];then + + # ----------------------------------------------------------------------- # + # 中国优化安装 + # cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"") + # LOCAL_ADDR=common + # if [ ! -z "$cn" ];then + # LOCAL_ADDR=cn + # fi + + # if [ "$LOCAL_ADDR" == "cn" ];then + # if [ ! -f $sourcePath/php/php-${version}.tar.xz ];then + # wget --no-check-certificate -O $sourcePath/php/php-${version}.tar.xz https://mirrors.sohu.com/php/php-${version}.tar.xz + # fi + # fi + # ----------------------------------------------------------------------- # + + + if [ ! -f $sourcePath/php/php-${version}.tar.xz ];then + wget --no-check-certificate -O $sourcePath/php/php-${version}.tar.xz https://downloads.php.net/~eric/php-${version}.tar.xz + fi + + cd $sourcePath/php && tar -Jxf $sourcePath/php/php-${version}.tar.xz + mv $sourcePath/php/php-${version} $sourcePath/php/php${PHP_VER} +fi + +cd $sourcePath/php/php${PHP_VER} + +OPTIONS='' +if [ $sysName == 'Darwin' ]; then + OPTIONS='--without-iconv' + OPTIONS="${OPTIONS} --with-curl=${serverPath}/lib/curl" +else + OPTIONS='--without-iconv' + OPTIONS="${OPTIONS} --with-curl" +fi + +IS_64BIT=`getconf LONG_BIT` +if [ "$IS_64BIT" == "64" ];then + OPTIONS="${OPTIONS} --with-libdir=lib64" +fi + +# ----- cpu start ------ +if [ -z "${cpuCore}" ]; then + cpuCore="1" +fi + +if [ -f /proc/cpuinfo ];then + cpuCore=`cat /proc/cpuinfo | grep "processor" | wc -l` +fi + +MEM_INFO=$(free -m|grep Mem|awk '{printf("%.f",($2)/1024)}') +if [ "${cpuCore}" != "1" ] && [ "${MEM_INFO}" != "0" ];then + if [ "${cpuCore}" -gt "${MEM_INFO}" ];then + cpuCore="${MEM_INFO}" + fi +else + cpuCore="1" +fi + +if [ "$cpuCore" -gt "2" ];then + cpuCore=`echo "$cpuCore" | awk '{printf("%.f",($1)*0.8)}'` +else + cpuCore="1" +fi +# ----- cpu end ------ + +ZIP_OPTION='--with-zip' +libzip_version=`pkg-config libzip --modversion` +if version_lt "$libzip_version" "0.11.0" ;then + cd ${rootPath}/plugins/php/lib && /bin/bash libzip.sh + export PKG_CONFIG_PATH=$serverPath/lib/libzip/lib/pkgconfig + ZIP_OPTION="--with-zip=$serverPath/lib/libzip" +fi + + +echo "$sourcePath/php/php${PHP_VER}" + +if [ ! -d $serverPath/php/${PHP_VER} ];then + cd $sourcePath/php/php${PHP_VER} + ./buildconf --force + ./configure \ + --prefix=$serverPath/php/${PHP_VER} \ + --exec-prefix=$serverPath/php/${PHP_VER} \ + --with-config-file-path=$serverPath/php/${PHP_VER}/etc \ + --enable-mysqlnd \ + --with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + --with-zlib-dir=$serverPath/lib/zlib \ + $ZIP_OPTION \ + --enable-mbstring \ + --enable-ftp \ + --enable-sockets \ + --enable-simplexml \ + --enable-soap \ + --enable-posix \ + --enable-sysvmsg \ + --enable-sysvsem \ + --enable-sysvshm \ + --disable-intl \ + --disable-fileinfo \ + $OPTIONS \ + --enable-fpm + make clean && make -j${cpuCore} && make install && make clean +fi +#------------------------ install end ------------------------------------# +} + +Uninstall_php() +{ + $serverPath/php/init.d/php${PHP_VER} stop + rm -rf $serverPath/php/${PHP_VER} + echo "卸载php-${version}..." > $install_tmp +} + +action=${1} +if [ "${1}" == 'install' ];then + Install_php +else + Uninstall_php +fi