templates/install/requirement.php.sh.twig line 1

Open in your IDE?
  1. # define default php version for this project
  2. if [ -z "$projectPhpForceVersion" ]
  3. then
  4.     requirePhpVersion="{{ constant('App\\Service\\ProjectManager::CONFIG_PHP_DEFAULT_VERSION') }}"
  5.     requirePhpExt=(common cli json mysql zip gd mbstring curl xml)
  6. else
  7.     requirePhpVersion="$projectPhpForceVersion"
  8.     requirePhpExt=(common cli mysql zip gd mbstring curl xml)
  9. fi
  10. phpCliPath="/usr/bin/php$requirePhpVersion"
  11. ppaIsPresent=$(apt-cache search php$requirePhpVersion)
  12. if [ -z "$ppaIsPresent" ]
  13. then
  14.     sudo apt -y install lsb-release apt-transport-https ca-certificates
  15.     sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
  16.     # todo : temporary use impish (Ub 21.04) source for Hirsute (21.10)
  17.     # @see: http://ppa.launchpad.net/ondrej/php/ubuntu/dists/
  18.     currentRelease=$(lsb_release -sc)
  19.     if [ "impish" == "$currentRelease" ]
  20.     then
  21.         sudo add-apt-repository universe -y
  22.         echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu/ hirsute main"  | sudo tee /etc/apt/sources.list.d/php.list
  23.     else
  24.         echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu/ $currentRelease main" | sudo tee /etc/apt/sources.list.d/php.list
  25.     fi
  26.     sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C
  27.     sudo apt install software-properties-common
  28.     sudo add-apt-repository ppa:ondrej/php -y > /dev/null
  29.     sudo apt-get update > /dev/null 2>&1
  30. fi
  31. # install require versions
  32. packages=(php$requirePhpVersion ${requirePhpExt[@]/#/php$requirePhpVersion-})
  33. apt-check "${packages[@]}"
  34. # install fpm after for non default usage
  35. apt-check php${requirePhpVersion}-fpm
  36. sudo service php${requirePhpVersion}-fpm start
  37. # install composer if not present
  38. if [ ! -f "/usr/local/bin/composer" ]
  39. then
  40.   wget -O composer-setup.php https://getcomposer.org/installer
  41.   sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
  42.   rm composer-setup.php
  43. fi
  44. # set php version
  45. echo "Switch PHP to version $requirePhpVersion";
  46. echo "sudo update-alternatives --set php /usr/bin/php$requirePhpVersion"
  47. sudo update-alternatives --set php /usr/bin/php$requirePhpVersion
  48. sudo a2enmod proxy_fcgi setenvif rewrite