#sysCheck if [ ! -f "/etc/ICTM/selopts.list" ] || [ ! -f "/etc/ICTM/mainvar.list" ] ; then echo 'This system is not yet setup, please run the main installer first' && exit ; fi rm /tmp/pkg.list #Getting variables source /etc/ICTM/mainvar.list if [ -z $shortdist ] ; then source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/Scripts/MicroOSDetect.sh) ; fi if [ ! -f "/etc/ICTM/phpvar.list" ] ; then bash <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/Scripts/GeneratePhplist.sh) ; fi source /etc/ICTM/phpvar.list if [ "$shortdist" = "ubu1804" ] || [ "$shortdist" = "ubu2004" ] || [ "$shortdist" = "deb10" ] ; then apt update RepoVersion=`apt list |grep php | grep deb.sury.org| cut -f1 -d"-"| tail -1 |sed 's/php//'` elif [ "$shortdist" = "el8" ]; then dnf check-update --refresh RepoVersion=`dnf list php* | awk '{print $1; }' | cut -f1 -d"-"| tail -1 |sed 's/php//' | sed 's/./&./1'` fi msg () { if [ $IMODE = n ]; then TERM=ansi whiptail --title "Info" --msgbox "$1" 8 52 fi if [ $IMODE = l ]; then echo "$1" fi } msg "Current php version: $phpver" if [ $IMODE = n ]; then # Legacy/Main Menu PKGD="debconf-apt-progress -- apt purge -y" #Menu if (whiptail --title "Set new php version?" --yesno "Install php version $RepoVersion ?" 8 78); then newphpver=$RepoVersion else newphpver=$(whiptail --inputbox "Please enter the version to install" --title "Custom" 8 39 3>&1 1>&2 2>&3) fi fi if [ $IMODE = l ]; then # Legacy/Main Menu PKGD="apt purge -y" #Menu while true; do read -p "Set phpversion to version $RepoVersion ? -> yes/no?" yn case $yn in [Yy]* ) newphpver=$RepoVersion break;; [Nn]* ) echo ""; echo "Please enter php version to install:";read newphpver break;; * ) echo "Choose yes or no.";; esac done fi #Genereating vars for new php version if [ "$shortdist" = "ubu1804" ] || [ "$shortdist" = "ubu2004" ] || [ "$shortdist" = "deb10" ] ; then # Debian/Ubunbtu Php variables newphpPoolDir=/etc/php/${newphpver}/fpm/pool.d newphpPkgName=php${newphpver} newphpMainConf=/etc/php/${newphpver}/fpm/php.ini newphpFPMService=php${newphpver}-fpm PKGP=$PKGD apt list --installed | less | grep php$phpver | cut -f1 -d"/" | sed "s/$phpPkgName/$newphpPkgName/" > /tmp/pkg.list elif [ "$shortdist" = "el8" ]; then # Centos Php variable newphpPoolDir=/etc/opt/remi/php${newphpver//.}/php-fpm.d/ newphpPkgName=php${newphpver//.}-php newphpMainConf=/etc/opt/remi/php${newphpver//.}/php.ini newphpFPMService=php${newphpver//.}-php-fpm PKGP="dnf remove -y" dnf list --installed | sort | grep $phpPkgName | awk '{print $1;}' | cut -f1 -d"." | sed "s/$phpPkgName/$newphpPkgName/" > /tmp/pkg.list fi #Install if [ ${newphpver//.} -ge 80 ] && [ ${newphpver//.} -lt 90 ]; then sed -i -e "s/$newphpPkgName-xmlrpc//g" -e "s/$newphpPkgName-json//g" /tmp/pkg.list fi cat /tmp/pkg.list | xargs $PKGI #Config systemctl stop $newphpFPMService cp $phpPoolDir/* $newphpPoolDir if [ $IMODE = n ]; then #Purge if (whiptail --title "Set new php version?" --yesno "Remove php $phpver ?" 8 78); then PhpPurge=1 $PKGP -y $phpPkgName* else PhpPurge=0 fi fi if [ $IMODE = l ]; then #Purge while true; do read -p "Remove php $phpver ? -> yes/no?" yn case $yn in [Yy]* ) PhpPurge=1 ; $PKGP $phpPkgName* break;; [Nn]* ) PhpPurge=0 ; echo "" break;; * ) echo "Choose yes or no.";; esac done fi for f in $newphpPoolDir/*; do sed -i "s/$phpver/$newphpver/" $f sed -i "s/${phpver//.}/${newphpver//.}/" $f done systemctl start $newphpFPMService systemctl enable $newphpFPMService sed -i "/phpver/c\phpver=\"$newphpver\"" /etc/ICTM/mainvar.list mv /etc/ICTM/phpvar.list /etc/ICTM/phpvar"$phpver".list for storeme in newphpPoolDir newphpPkgName newphpMainConf newphpFPMService; do declare -p $storeme | cut -d ' ' -f 3- >> /etc/ICTM/phpvar.list done sed -i 's/new//' /etc/ICTM/phpvar.list if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$repo"/raw/"$branchtype"/"$branch"/CoreModules/"$webserv"/phpupdate-handeler.sh; then source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/CoreModules/"$webserv"/phpupdate-handeler.sh) fi