| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #!/bin/bash
- # info: delete php fpm version
- # options: VERSION
- #
- # The function checks and delete a fpm php version if not used by any domain.
- #----------------------------------------------------------#
- # Variable&Function #
- #----------------------------------------------------------#
- # Argument definition
- version=$1
- # Includes
- source $HESTIA/func/main.sh
- source $HESTIA/conf/hestia.conf
- #----------------------------------------------------------#
- # Verifications #
- #----------------------------------------------------------#
- check_args '1' "$#" 'VERSION'
- # Set file locations
- php_fpm="/etc/init.d/php$version-fpm"
- # Verify php version format
- if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
- echo "The php version format is invalid, it should look like [0-9].[0-9]..."
- exit
- fi
- # Remove backend template
- [ -f $HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl ] && rm -f $HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl
- # Check if php version exists
- if [ ! -f "$php_fpm" ] && [ ! -f "$HESTIA/data/templates/$WEB_SYSTEM/PHP-$version.sh" ]; then
- echo "Version is not installed..."
- exit
- fi
- # Perform verification if read-only mode is enabled
- check_hestia_demo_mode
- #----------------------------------------------------------#
- # Action #
- #----------------------------------------------------------#
- mph="php$version-mbstring php$version-bcmath php$version-cli php$version-curl
- php$version-fpm php$version-gd php$version-intl php$version-mysql
- php$version-soap php$version-xml php$version-zip php$version-mbstring
- php$version-json php$version-bz2 php$version-pspell"
- # Check is version is 7.1 or below to add mcrypt
- if [[ `echo "$version 7.2" | awk '{print ($1 < $2)}'` == 1 ]]; then
- mph="$mph php$version-mcrypt"
- fi
- # Purge php packages
- apt-get -y purge $mph > /dev/null 2>&1 &
- BACK_PID=$!
- # Check if package removal is done, print a spinner
- echo "Removing PHP-$version, please wait..."
- spinner="/-\|"
- spin_i=1
- while kill -0 $BACK_PID > /dev/null 2>&1 ; do
- printf "\b${spinner:spin_i++%${#spinner}:1}"
- sleep 0.5
- done
- # Do a blank echo to get the \n back
- echo
- # Check if installation was sucessfully
- if [ -f "$php_fpm" ]; then
- echo "Uninstallation failed, please run the following command manualy for debuging:"
- echo "apt-get purge $mph"
- fi
- # Cleanup php folder
- [[ -d /etc/php/$version ]] && rm -rf "/etc/php/$version"
- #----------------------------------------------------------#
- # Hestia #
- #----------------------------------------------------------#
- # Logging
- log_history "removed php $version" '' 'admin'
- log_event "$OK" "$ARGUMENTS"
- exit
|