From dd0a31037fa14d8a58293f4957bd0cd698b61cbb Mon Sep 17 00:00:00 2001 From: midoks Date: Sat, 6 Aug 2022 12:47:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5bcmath=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/php/versions/common/bcmath.sh | 107 ++++++++++++++++++++++++++ plugins/php/versions/lib.sh | 3 +- plugins/php/versions/phplib.conf | 21 +++++ 3 files changed, 130 insertions(+), 1 deletion(-) create mode 100755 plugins/php/versions/common/bcmath.sh diff --git a/plugins/php/versions/common/bcmath.sh b/plugins/php/versions/common/bcmath.sh new file mode 100755 index 000000000..e60a17986 --- /dev/null +++ b/plugins/php/versions/common/bcmath.sh @@ -0,0 +1,107 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH + +curPath=`pwd` + +appPath=$(dirname "$curPath") + +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +rootPath=$(dirname "$rootPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") +sourcePath=${serverPath}/source/php + +actionType=$1 +version=$2 + +LIBNAME=bcmath +LIBV=0 + + +LIB_PATH_NAME=lib/php +if [ -d $serverPath/php/${version}/lib64 ];then + LIB_PATH_NAME=lib64 +fi + +NON_ZTS_FILENAME=`ls $serverPath/php/${version}/${LIB_PATH_NAME}/extensions | grep no-debug-non-zts` +extFile=$serverPath/php/${version}/${LIB_PATH_NAME}/extensions/${NON_ZTS_FILENAME}/${LIBNAME}.so + +sysName=`uname` +if [ "$sysName" == "Darwin" ];then + BAK='_bak' +else + BAK='' +fi + +# export PKG_CONFIG_PATH=/www/server/lib/libzip/lib/pkgconfig + +Install_lib() +{ + + isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"` + if [ "${isInstall}" != "" ];then + echo "php-$version 已安装${LIBNAME},请选择其它版本!" + return + fi + + if [ ! -f "$extFile" ];then + + if [ ! -d $sourcePath/php${version}/ext ];then + cd $serverPath/mdserver-web/plugins/php && /bin/bash install.sh install ${version} + fi + + cd $sourcePath/php${version}/ext/${LIBNAME} + + $serverPath/php/$version/bin/phpize + ./configure --with-php-config=$serverPath/php/$version/bin/php-config + + make clean && make && make install && make clean + + fi + + if [ ! -f "$extFile" ];then + echo "ERROR!" + return + fi + + echo "" >> $serverPath/php/$version/etc/php.ini + echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini + echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini + + bash ${rootPath}/plugins/php/versions/lib.sh $version restart + echo '===========================================================' + echo 'successful!' +} + + +Uninstall_lib() +{ + if [ ! -f "$serverPath/php/$version/bin/php-config" ];then + echo "php-$version 未安装,请选择其它版本!" + return + fi + + if [ ! -f "$extFile" ];then + echo "php-$version 未安装${LIBNAME},请选择其它版本!" + return + fi + + echo $serverPath/php/$version/etc/php.ini + sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini + sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini + + rm -f $extFile + bash ${rootPath}/plugins/php/versions/lib.sh $version restart + echo '===============================================' + echo 'successful!' +} + + + +if [ "$actionType" == 'install' ];then + Install_lib +elif [ "$actionType" == 'uninstall' ];then + Uninstall_lib +fi \ No newline at end of file diff --git a/plugins/php/versions/lib.sh b/plugins/php/versions/lib.sh index 5702d47ed..df6aa2936 100644 --- a/plugins/php/versions/lib.sh +++ b/plugins/php/versions/lib.sh @@ -6,6 +6,7 @@ curPath=`pwd` rootPath=$(dirname "$curPath") rootPath=$(dirname "$rootPath") rootPath=$(dirname "$rootPath") +rootPath=$(dirname "$rootPath") serverPath=$(dirname "$rootPath") version=$1 @@ -13,7 +14,7 @@ action=$2 if [ -f /lib/systemd/system/php${version}.service ];then systemctl ${action} php${version} -elif [[ -f /usr/lib/systemd/system/php${version}.service ]]; then +elif [ -f /usr/lib/systemd/system/php${version}.service ]; then systemctl ${action} php${version} else $serverPath/php/init.d/php${version} ${action} diff --git a/plugins/php/versions/phplib.conf b/plugins/php/versions/phplib.conf index bde671bbc..eed637e11 100755 --- a/plugins/php/versions/phplib.conf +++ b/plugins/php/versions/phplib.conf @@ -98,6 +98,27 @@ "shell": "mcrypt.sh", "check": "mcrypt.so" }, + { + "name": "bcmath", + "versions": [ + "53", + "54", + "55", + "56", + "70", + "71", + "72", + "73", + "74", + "80", + "81", + "82" + ], + "type": "通用扩展", + "msg": "高精度计算!", + "shell": "bcmath.sh", + "check": "bcmath.so" + }, { "name": "pcntl", "versions": [