diff --git a/README.md b/README.md index 07ed214..96292cf 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,11 @@ Once setup is complete, you can easily switch between different PHP versions usi ./switch-to-php-7.2.sh ./switch-to-php-7.3.sh ./switch-to-php-7.4.sh +./switch-to-php-8.0.sh +./switch-to-php-8.1.sh +./switch-to-php-8.2.sh +./switch-to-php-8.3.sh +./switch-to-php-8.4.sh ``` This will alter the versions of PHP running in Apache and the command line. Your password will be required to enable/disable Apache modules, restart the web server and alter the default PHP CLI version. diff --git a/assets/images/usage.png b/assets/images/usage.png index 7dd42bb..a76f17e 100644 Binary files a/assets/images/usage.png and b/assets/images/usage.png differ diff --git a/setup.sh b/setup.sh index 8bc734c..73b6d7b 100755 --- a/setup.sh +++ b/setup.sh @@ -16,7 +16,7 @@ echo "* Installing PHP 5.6..." sudo apt-get install -y php5.6 php5.6-common php5.6-cli > /dev/null echo "* Installing PHP 5.6 extensions..." -sudo apt-get install -y php5.6-curl php5.6-mcrypt php5.6-soap php5.6-bz2 php5.6-gd php5.6-mysql php5.6-sqlite3 php5.6-json php5.6-opcache php5.6-xml php5.6-mbstring php5.6-readline php5.6-xmlrpc php5.6-zip php-redis > /dev/null +sudo apt-get install -y php5.6-curl php5.6-mcrypt php5.6-soap php5.6-bz2 php5.6-gd php5.6-mysql php5.6-sqlite3 php5.6-json php5.6-opcache php5.6-xml php5.6-mbstring php5.6-readline php5.6-xmlrpc php5.6-zip libapache2-mod-php5.6 php-redis > /dev/null echo "* Installing PHP 7.0..." sudo apt-get install -y php7.0 php7.0-common php7.0-cli > /dev/null @@ -46,7 +46,37 @@ echo "* Installing PHP 7.4..." sudo apt-get install -y php7.4 php7.4-common php7.4-cli > /dev/null echo "* Installing PHP 7.4 extensions..." -sudo apt-get install -y php7.4-bz2 php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-sqlite3 php7.4-tidy php7.4-xml php7.4-xsl php7.4-zip > /dev/null +sudo apt-get install -y php7.4-bz2 php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-sqlite3 php7.4-tidy php7.4-xml php7.4-xsl php7.4-zip php7.4-apcu php7.4-gearman php7.4-imagick php7.4-intl php7.4-mcrypt > /dev/null + +echo "* Installing PHP 8.0..." +sudo apt-get install -y php8.0 php8.0-common php8.0-cli > /dev/null + +echo "* Installing PHP 8.0 extensions..." +sudo apt-get install -y php8.0-bz2 php8.0-curl php8.0-gd php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-readline php8.0-soap php8.0-sqlite3 php8.0-tidy php8.0-xml php8.0-xsl php8.0-zip > /dev/null + +echo "* Installing PHP 8.1..." +sudo apt-get install -y php8.1 php8.1-common php8.1-cli > /dev/null + +echo "* Installing PHP 8.1 extensions..." +sudo apt-get install -y php8.1-bz2 php8.1-curl php8.1-gd php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-soap php8.1-sqlite3 php8.1-tidy php8.1-xml php8.1-xsl php8.1-zip > /dev/null + +echo "* Installing PHP 8.2..." +sudo apt-get install -y php8.2 php8.2-common php8.2-cli > /dev/null + +echo "* Installing PHP 8.2 extensions..." +sudo apt-get install -y php8.2-bz2 php8.2-curl php8.2-gd php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-soap php8.2-sqlite3 php8.2-tidy php8.2-xml php8.2-xsl php8.2-zip > /dev/null + +echo "* Installing PHP 8.3..." +sudo apt-get install -y php8.3 php8.3-common php8.3-cli > /dev/null + +echo "* Installing PHP 8.3 extensions..." +sudo apt-get install -y php8.3-bz2 php8.3-curl php8.3-gd php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-readline php8.3-soap php8.3-sqlite3 php8.3-tidy php8.3-xml php8.3-xsl php8.3-zip > /dev/null + +echo "* Installing PHP 8.4..." +sudo apt-get install -y php8.4 php8.4-common php8.4-cli > /dev/null + +echo "* Installing PHP 8.4 extensions..." +sudo apt-get install -y php8.4-bz2 php8.4-curl php8.4-gd php8.4-mbstring php8.4-mysql php8.4-opcache php8.4-readline php8.4-soap php8.4-sqlite3 php8.4-tidy php8.4-xml php8.4-xsl php8.4-zip > /dev/null echo "* Installing additional PHP extensions..." sudo apt-get install -y php-memcache php-memcached php-redis > /dev/null diff --git a/switch-to-php-5.6.sh b/switch-to-php-5.6.sh index f7b1376..34165c5 100755 --- a/switch-to-php-5.6.sh +++ b/switch-to-php-5.6.sh @@ -15,6 +15,21 @@ sudo a2dismod php7.3 > /dev/null echo "* Disabling Apache PHP 7.4 module..." sudo a2dismod php7.4 > /dev/null +echo "* Disabling Apache PHP 8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + echo "* Enabling Apache PHP 5.6 module..." sudo a2enmod php5.6 > /dev/null diff --git a/switch-to-php-7.0.sh b/switch-to-php-7.0.sh index 8976bd4..4a5d9ac 100755 --- a/switch-to-php-7.0.sh +++ b/switch-to-php-7.0.sh @@ -15,6 +15,21 @@ sudo a2dismod php7.3 > /dev/null echo "* Disabling Apache PHP 7.4 module..." sudo a2dismod php7.4 > /dev/null +echo "* Disabling Apache PHP 8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + echo "* Enabling Apache PHP 7.0 module..." sudo a2enmod php7.0 > /dev/null diff --git a/switch-to-php-7.1.sh b/switch-to-php-7.1.sh index d2dfc80..e7fdfcc 100755 --- a/switch-to-php-7.1.sh +++ b/switch-to-php-7.1.sh @@ -15,6 +15,21 @@ sudo a2dismod php7.3 > /dev/null echo "* Disabling Apache PHP 7.4 module..." sudo a2dismod php7.4 > /dev/null +echo "* Disabling Apache PHP 8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + echo "* Enabling Apache PHP 7.1 module..." sudo a2enmod php7.1 > /dev/null diff --git a/switch-to-php-7.2.sh b/switch-to-php-7.2.sh index 2ae1025..c31f285 100755 --- a/switch-to-php-7.2.sh +++ b/switch-to-php-7.2.sh @@ -15,6 +15,21 @@ sudo a2dismod php7.3 > /dev/null echo "* Disabling Apache PHP 7.4 module..." sudo a2dismod php7.4 > /dev/null +echo "* Disabling Apache PHP 8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + echo "* Enabling Apache PHP 7.2 module..." sudo a2enmod php7.2 > /dev/null diff --git a/switch-to-php-7.3.sh b/switch-to-php-7.3.sh index f365420..e2885fb 100755 --- a/switch-to-php-7.3.sh +++ b/switch-to-php-7.3.sh @@ -15,6 +15,21 @@ sudo a2dismod php7.2 > /dev/null echo "* Disabling Apache PHP 7.4 module..." sudo a2dismod php7.4 > /dev/null +echo "* Disabling Apache PHP 8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + echo "* Enabling Apache PHP 7.3 module..." sudo a2enmod php7.3 > /dev/null diff --git a/switch-to-php-7.4.sh b/switch-to-php-7.4.sh index 11d0b54..24ff4bc 100755 --- a/switch-to-php-7.4.sh +++ b/switch-to-php-7.4.sh @@ -15,6 +15,21 @@ sudo a2dismod php7.2 > /dev/null echo "* Disabling Apache PHP 7.3 module..." sudo a2dismod php7.3 > /dev/null +echo "* Disabling Apache PHP 8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + echo "* Enabling Apache PHP 7.4 module..." sudo a2enmod php7.4 > /dev/null diff --git a/switch-to-php-8.0.sh b/switch-to-php-8.0.sh new file mode 100755 index 0000000..56b6ea7 --- /dev/null +++ b/switch-to-php-8.0.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "* Disabling Apache PHP 5.6 module..." +sudo a2dismod php5.6 > /dev/null + +echo "* Disabling Apache PHP 7.0 module..." +sudo a2dismod php7.0 > /dev/null + +echo "* Disabling Apache PHP 7.1 module..." +sudo a2dismod php7.1 > /dev/null + +echo "* Disabling Apache PHP 7.2 module..." +sudo a2dismod php7.2 > /dev/null + +echo "* Disabling Apache PHP 7.3 module..." +sudo a2dismod php7.3 > /dev/null + +echo "* Disabling Apache PHP 7.4 module..." +sudo a2dismod php7.4 > /dev/null + +echo "* Disabling Apache PHP 8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + +echo "* Enabling Apache PHP 8.0 module..." +sudo a2enmod php8.0 > /dev/null + +echo "* Restarting Apache..." +sudo service apache2 restart > /dev/null + +echo "* Switching CLI PHP to 8.0..." +sudo update-alternatives --set php /usr/bin/php8.0 > /dev/null + +echo "* Switch to PHP 8.0 complete." diff --git a/switch-to-php-8.1.sh b/switch-to-php-8.1.sh new file mode 100755 index 0000000..1f2953e --- /dev/null +++ b/switch-to-php-8.1.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "* Disabling Apache PHP 5.6 module..." +sudo a2dismod php5.6 > /dev/null + +echo "* Disabling Apache PHP 7.0 module..." +sudo a2dismod php7.0 > /dev/null + +echo "* Disabling Apache PHP 7.1 module..." +sudo a2dismod php7.1 > /dev/null + +echo "* Disabling Apache PHP 7.2 module..." +sudo a2dismod php7.2 > /dev/null + +echo "* Disabling Apache PHP 7.3 module..." +sudo a2dismod php7.3 > /dev/null + +echo "* Disabling Apache PHP 7.4 module..." +sudo a2dismod php7.4 > /dev/null + +echo "* Disabling Apache PHP php8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + +echo "* Enabling Apache PHP 8.0 module..." +sudo a2enmod php8.1 > /dev/null + +echo "* Restarting Apache..." +sudo service apache2 restart > /dev/null + +echo "* Switching CLI PHP to 8.1..." +sudo update-alternatives --set php /usr/bin/php8.1 > /dev/null + +echo "* Switch to PHP 8.1 complete." diff --git a/switch-to-php-8.2.sh b/switch-to-php-8.2.sh new file mode 100644 index 0000000..618ff3c --- /dev/null +++ b/switch-to-php-8.2.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "* Disabling Apache PHP 5.6 module..." +sudo a2dismod php5.6 > /dev/null + +echo "* Disabling Apache PHP 7.0 module..." +sudo a2dismod php7.0 > /dev/null + +echo "* Disabling Apache PHP 7.1 module..." +sudo a2dismod php7.1 > /dev/null + +echo "* Disabling Apache PHP 7.2 module..." +sudo a2dismod php7.2 > /dev/null + +echo "* Disabling Apache PHP 7.3 module..." +sudo a2dismod php7.3 > /dev/null + +echo "* Disabling Apache PHP 7.4 module..." +sudo a2dismod php7.4 > /dev/null + +echo "* Disabling Apache PHP php8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP php8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + +echo "* Enabling Apache PHP 8.2 module..." +sudo a2enmod php8.2 > /dev/null + +echo "* Restarting Apache..." +sudo service apache2 restart > /dev/null + +echo "* Switching CLI PHP to 8.2..." +sudo update-alternatives --set php /usr/bin/php8.2 > /dev/null + +echo "* Switch to PHP 8.2 complete." diff --git a/switch-to-php-8.3.sh b/switch-to-php-8.3.sh new file mode 100644 index 0000000..a0cfdeb --- /dev/null +++ b/switch-to-php-8.3.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "* Disabling Apache PHP 5.6 module..." +sudo a2dismod php5.6 > /dev/null + +echo "* Disabling Apache PHP 7.0 module..." +sudo a2dismod php7.0 > /dev/null + +echo "* Disabling Apache PHP 7.1 module..." +sudo a2dismod php7.1 > /dev/null + +echo "* Disabling Apache PHP 7.2 module..." +sudo a2dismod php7.2 > /dev/null + +echo "* Disabling Apache PHP 7.3 module..." +sudo a2dismod php7.3 > /dev/null + +echo "* Disabling Apache PHP 7.4 module..." +sudo a2dismod php7.4 > /dev/null + +echo "* Disabling Apache PHP php8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP php8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.4 module..." +sudo a2dismod php8.4 > /dev/null + +echo "* Enabling Apache PHP 8.3 module..." +sudo a2enmod php8.3 > /dev/null + +echo "* Restarting Apache..." +sudo service apache2 restart > /dev/null + +echo "* Switching CLI PHP to 8.3..." +sudo update-alternatives --set php /usr/bin/php8.3 > /dev/null + +echo "* Switch to PHP 8.3 complete." diff --git a/switch-to-php-8.4.sh b/switch-to-php-8.4.sh new file mode 100644 index 0000000..e631110 --- /dev/null +++ b/switch-to-php-8.4.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "* Disabling Apache PHP 5.6 module..." +sudo a2dismod php5.6 > /dev/null + +echo "* Disabling Apache PHP 7.0 module..." +sudo a2dismod php7.0 > /dev/null + +echo "* Disabling Apache PHP 7.1 module..." +sudo a2dismod php7.1 > /dev/null + +echo "* Disabling Apache PHP 7.2 module..." +sudo a2dismod php7.2 > /dev/null + +echo "* Disabling Apache PHP 7.3 module..." +sudo a2dismod php7.3 > /dev/null + +echo "* Disabling Apache PHP 7.4 module..." +sudo a2dismod php7.4 > /dev/null + +echo "* Disabling Apache PHP php8.0 module..." +sudo a2dismod php8.0 > /dev/null + +echo "* Disabling Apache PHP php8.1 module..." +sudo a2dismod php8.1 > /dev/null + +echo "* Disabling Apache PHP php8.2 module..." +sudo a2dismod php8.2 > /dev/null + +echo "* Disabling Apache PHP php8.3 module..." +sudo a2dismod php8.3 > /dev/null + +echo "* Enabling Apache PHP 8.4 module..." +sudo a2enmod php8.4 > /dev/null + +echo "* Restarting Apache..." +sudo service apache2 restart > /dev/null + +echo "* Switching CLI PHP to 8.4..." +sudo update-alternatives --set php /usr/bin/php8.4 > /dev/null + +echo "* Switch to PHP 8.4 complete."