Skip to content
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Binary file modified assets/images/usage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 32 additions & 2 deletions setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
15 changes: 15 additions & 0 deletions switch-to-php-5.6.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 15 additions & 0 deletions switch-to-php-7.0.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 15 additions & 0 deletions switch-to-php-7.1.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 15 additions & 0 deletions switch-to-php-7.2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 15 additions & 0 deletions switch-to-php-7.3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 15 additions & 0 deletions switch-to-php-7.4.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
42 changes: 42 additions & 0 deletions switch-to-php-8.0.sh
Original file line number Diff line number Diff line change
@@ -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."
42 changes: 42 additions & 0 deletions switch-to-php-8.1.sh
Original file line number Diff line number Diff line change
@@ -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."
42 changes: 42 additions & 0 deletions switch-to-php-8.2.sh
Original file line number Diff line number Diff line change
@@ -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."
42 changes: 42 additions & 0 deletions switch-to-php-8.3.sh
Original file line number Diff line number Diff line change
@@ -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."
Loading