#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#加入微软yum源
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo
public_file=/www/server/panel/install/public.sh
[ ! -f $public_file ] && wget -O $public_file http://download.bt.cn/install/public.sh -T 5;
publicFileMd5=$(md5sum ${public_file}|awk '{print $1}')
md5check="66c89de255c11b64d5215be67dc4fdc6"
[ "${publicFileMd5}" != "${md5check}" ] && wget -O $public_file http://download.bt.cn/install/public.sh -T 5;
. $public_file
download_Url=$NODE_URL
srcPath='/root';
System_Lib(){
if [ "${PM}" == "yum" ] || [ "${PM}" == "dnf" ] ; then
installPack="msodbcsql mssql-tools unixODBC-devel"
removePack="msodbcsql mssql-tools unixODBC-devel"
fi
[ "${removePack}" != "" ] && ${PM} remove ${removePack} -y
[ "${installPack}" != "" ] && ${PM} install ${installPack} -y
}
Ext_Path(){
case "${version}" in
'52')
extFile="/www/server/php/52/lib/php/extensions/no-debug-non-zts-20060613/pdo_sqlsrv.so"
;;
'53')
extFile="/www/server/php/53/lib/php/extensions/no-debug-non-zts-20090626/pdo_sqlsrv.so"
;;
'54')
extFile="/www/server/php/54/lib/php/extensions/no-debug-non-zts-20100525/pdo_sqlsrv.so"
;;
'55')
extFile="/www/server/php/55/lib/php/extensions/no-debug-non-zts-20121212/pdo_sqlsrv.so"
;;
'56')
extFile="/www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/pdo_sqlsrv.so"
;;
'70')
extFile="/www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/pdo_sqlsrv.so"
;;
'71')
extFile="/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/pdo_sqlsrv.so"
;;
'72')
extFile="/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/pdo_sqlsrv.so"
;;
'73')
extFile='/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/pdo_sqlsrv.so'
;;
'74')
extFile='/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/pdo_sqlsrv.so'
;;
esac
}
Install_SQLsrv()
{
cd $srcPath
wget http://pecl.php.net/get/pdo_sqlsrv-5.3.0.tgz
tar -xzf pdo_sqlsrv-5.3.0.tgz
cd $srcPath/pdo_sqlsrv-5.3.0
/www/server/php/$version/bin/phpize
./configure --with-php-config=/www/server/php/$version/bin/php-config
make && make install
if [ ! -d /www/server/php/$version ];then
return;
fi
if [ ! -f "/www/server/php/$version/bin/php-config" ];then
echo "php-$vphp 未安装,请选择其它版本!"
echo "php-$vphp not install, Plese select other version!"
return
fi
isInstall=`cat /www/server/php/$version/etc/php.ini|grep 'pdo_sqlsrv.so'`
if [ "${isInstall}" != "" ];then
echo "php-$vphp 已安装过pdo_sqlsrv,请选择其它版本!"
echo "php-$vphp is already install pdo_sqlsrv, Plese select other version!"
return
fi
echo "extension=pdo_sqlsrv.so" >> /www/server/php/$version/etc/php.ini
/etc/init.d/php-fpm-$version reload
echo '==============================================='
echo 'successful!'
/www/server/php/${version}/bin/php -m|grep pdo_sqlsrv
}
Uninstall_SQLsrv()
{
if [ ! -d /www/server/php/$version ];then
rm -rf /usr/local/pdo_sqlsrv
return;
fi
if [ ! -f "/www/server/php/$version/bin/php-config" ];then
echo "php-$vphp 未安装,请选择其它版本!"
echo "php-$vphp not install, Plese select other version!"
return
fi
isInstall=`cat /www/server/php/$version/etc/php.ini|grep 'pdo_sqlsrv.so'`
if [ "${isInstall}" = "" ];then
echo "php-$vphp 未安装pdo_sqlsrv,请选择其它版本!"
echo "php-$vphp not install pdo_sqlsrv, Plese select other version!"
return
fi
rm -f ${extFile}
sed -i '/pdo_sqlsrv.so/d' /www/server/php/$version/etc/php.ini
/etc/init.d/php-fpm-$version reload
echo '==============================================='
echo 'successful!'
}
Bt_Check(){
checkFile="/www/server/panel/install/check.sh"
wget -O ${checkFile} ${download_Url}/tools/check.sh
. ${checkFile}
}
actionType=$1
version=$2
vphp=${version:0:1}.${version:1:1}
if [ "$actionType" == 'install' ];then
Ext_Path
Install_SQLsrv
Bt_Check
elif [ "$actionType" == 'uninstall' ];then
Ext_Path
Uninstall_SQLsrv
fi
使用方法:以宝塔php7.4为例:
1、将脚本保存到本机,命名为dapao_php_sql.sh
2、bash dapao_php_sql.sh install 74