How to Install Multiple PHP Versions on Ubuntu 18.04?

Step 1: Update the system

apt-get update

apt-get upgrade

Step 2: Add to source list

apt-get install apt-transport-https lsb-release ca-certificates

add-apt-repository ppa:ondrej/php

apt-get update

apt-get upgrade

Step 3: Install the PHP versions

PHP 5.6:
apt-get -y install php5.6 php5.6-common php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-cli php5.6-cgi php-pear php5.6-mcrypt php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php-memcache php-imagick php-gettext php5.6-zip php5.6-mbstring php5.6-soap php5.6-common php5.6-opcache php5.6-mysql
PHP 7.0
apt-get -y install php7.0 php7.0-common php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi php-pear php7.0-mcrypt php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring php7.0-soap php7.0-common php7.0-opcache php7.0-mysql
PHP 7.1
apt-get -y install php7.1 php7.1-common php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-cli php7.1-cgi php-pear php7.1-mcrypt php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php-memcache php-imagick php-gettext php7.1-zip php7.1-mbstring php7.1-soap php7.1-common php7.1-opcache php7.1-mysql
PHP 7.2
apt-get -y install php7.2 php7.2-common php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-cli php7.2-cgi php-pear php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php7.2-soap php7.2-common php7.2-opcache php7.2-mysql
PHP 7.3
apt-get -y install php7.3 php7.3-common php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7.3-cgi php-pear php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php-memcache php-imagick php-gettext php7.3-zip php7.3-mbstring php7.3-soap php7.3-common php7.3-opcache php7.3-mysql
PHP 7.4
apt-get -y install php7.4 php7.4-common php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi php-pear php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php-memcache php-imagick php-gettext php7.4-zip php7.4-mbstring php7.4-soap php7.4-common php7.4-opcache php7.4-mysql

Step 4: Set in ISPConfig

Go to the ISPConfig control panel->System->Additional PHP Versions
  • Tab "Name"
Server: Select the server here  Name: Give a name here
  • Tab "FastCGI Settings"
Path to PHP FastCGI Binary: php7.0-cgi
Path to the php.ini directory: /etc/php/7.0/cgi/php.ini
  • Tab "FPM Settings"
Path to PHP-FPM init Script: php7.0-fpm
Path of the php.ini directory: /etc/php/7.0/fpm/php.ini
Path to PHP-FPM Pool Directory: /etc/php/7.0/fpm/pool.d

Step 5: Reboot PHP and Apache service

systemctl restart php5.6-fpm

systemctl restart php7.0-fpm

systemctl restart php7.1-fpm

systemctl restart php7.2-fpm

systemctl restart php7.3-fpm

systemctl restart apache2

Step 6:Enable PHP-FPM service auto-start when rebooting the server

systemctl enable php5.6-fpm

systemctl enable php7.0-fpm

systemctl enable php7.1-fpm

systemctl enable php7.2-fpm

systemctl enable php7.3-fpm

systemctl enable php7.4-fpm

Add Feedback