From 809c9ea237b1b50ba55842650826beeda2a56ad7 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Sat, 4 Jan 2025 02:37:28 +0800 Subject: [PATCH] update --- plugins/php-apt/index_php_apt.py | 3 +- plugins/php-yum/index_php_yum.py | 2 +- plugins/php/index_php.py | 5 +- plugins/php/info.json | 2 +- plugins/php/versions/common/mysql_xdevapi.sh | 110 +++++++++++++++++++ plugins/php/versions/phplib.conf | 12 ++ 6 files changed, 127 insertions(+), 7 deletions(-) create mode 100755 plugins/php/versions/common/mysql_xdevapi.sh diff --git a/plugins/php-apt/index_php_apt.py b/plugins/php-apt/index_php_apt.py index c6b4301b04..15eaed2b6b 100755 --- a/plugins/php-apt/index_php_apt.py +++ b/plugins/php-apt/index_php_apt.py @@ -140,8 +140,7 @@ def libConfCommon(version): phplib = json.loads(mw.readFile(libpath)) libs = [] - tasks = mw.M('tasks').where( - "status!=?", ('1',)).field('status,name').select() + tasks = mw.M('tasks').where("status!=?", ('1',)).field('status,name').select() for lib in phplib: lib['task'] = '1' for task in tasks: diff --git a/plugins/php-yum/index_php_yum.py b/plugins/php-yum/index_php_yum.py index 17bae712bb..07f6239743 100755 --- a/plugins/php-yum/index_php_yum.py +++ b/plugins/php-yum/index_php_yum.py @@ -54,7 +54,7 @@ def getFpmConfFile(version): def getPhpSocket(version): path = getFpmConfFile(version) content = mw.readFile(path) - rep = 'listen\s*=\s*(.*)' + rep = r'listen\s*=\s*(.*)' tmp = re.search(rep, content) return tmp.groups()[0].strip() diff --git a/plugins/php/index_php.py b/plugins/php/index_php.py index 06a90a9c45..688c42e509 100755 --- a/plugins/php/index_php.py +++ b/plugins/php/index_php.py @@ -64,7 +64,7 @@ def status_progress(version): def getPhpSocket(version): path = getFpmConfFile(version) content = mw.readFile(path) - rep = 'listen\s*=\s*(.*)' + rep = r'listen\s*=\s*(.*)' tmp = re.search(rep, content) return tmp.groups()[0].strip() @@ -133,8 +133,7 @@ def libConfCommon(version): phplib = json.loads(mw.readFile(libpath)) libs = [] - tasks = mw.M('tasks').where( - "status!=?", ('1',)).field('status,name').select() + tasks = mw.M('tasks').where("status!=?", ('1',)).field('status,name').select() for lib in phplib: lib['task'] = '1' for task in tasks: diff --git a/plugins/php/info.json b/plugins/php/info.json index a70da24336..190affe282 100755 --- a/plugins/php/info.json +++ b/plugins/php/info.json @@ -6,7 +6,7 @@ "title": "PHP", "coexist": true, "versions": ["53","54","55","56","70","71","72","73","74","80","81","82","83","84"], - "updates": ["5.3.29","5.4.45","5.6.36","7.0.30","7.1.33","7.2.32","7.3.20","7.4.30","8.0.30","8.1.29","8.2.24","8.3.12","8.4.0"], + "updates": ["5.3.29","5.4.45","5.6.36","7.0.30","7.1.33","7.2.32","7.3.20","7.4.30","8.0.30","8.1.29","8.2.27","8.3.15","8.4.2"], "tip": "soft", "install_pre_inspection":true, "checks": "server/php/VERSION/bin/php", diff --git a/plugins/php/versions/common/mysql_xdevapi.sh b/plugins/php/versions/common/mysql_xdevapi.sh new file mode 100755 index 0000000000..4905f78a10 --- /dev/null +++ b/plugins/php/versions/common/mysql_xdevapi.sh @@ -0,0 +1,110 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin +export PATH=$PATH:/opt/homebrew/bin + +curPath=`pwd` + +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +rootPath=$(dirname "$rootPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") +sourcePath=${serverPath}/source/php +SYS_ARCH=`arch` +LIBNAME=mysql_xdevapi +LIBV=8.0.30 +sysName=`uname` +actionType=$1 +version=$2 + + +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 + +if [ "$sysName" == "Darwin" ];then + BAK='_bak' +else + BAK='' +fi + +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 + + php_lib=$sourcePath/php_lib + mkdir -p $php_lib + if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then + if [ ! -f $php_lib/${LIBNAME}-${LIBV}.tgz ];then + wget --no-check-certificate -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz + fi + cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz + fi + cd $php_lib/${LIBNAME}-${LIBV} + + OPTIONS="" + if [ "${SYS_ARCH}" == "aarch64" ] && [ "$version" -lt "56" ];then + OPTIONS="$OPTIONS --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu" + fi + + $serverPath/php/$version/bin/phpize + ./configure --with-php-config=$serverPath/php/$version/bin/php-config $OPTIONS + make clean && make && make install && make clean + + cd $php_lib && rm -rf $php_lib/${LIBNAME}-${LIBV} + fi + + if [ ! -f "$extFile" ];then + echo "ERROR!" + return + fi + + echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini + echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini + + cd ${curPath} && 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},请选择其它版本!" + echo "php-$version not install ${LIBNAME}, Plese select other version!" + return + fi + + 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 + cd ${curPath} && 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/phplib.conf b/plugins/php/versions/phplib.conf index f81be4da58..9ebf254e61 100755 --- a/plugins/php/versions/phplib.conf +++ b/plugins/php/versions/phplib.conf @@ -186,6 +186,18 @@ "shell": "mcrypt.sh", "check": "mcrypt.so" }, + { + "name": "mysql_xdevapi", + "versions": [ + "71", + "72", + "73" + ], + "type": "通用扩展", + "msg": "PHP71-73连接MySQL", + "shell": "mysql_xdevapi.sh", + "check": "mysql_xdevapi.so" + }, { "name": "bcmath", "versions": [