netcup.de

Installing several PHP versions with ispconfig3 and Ubuntu 18.04

Since spam comments have been abused, it is necessary to register to leave comments

These steps MUST be performed as ROOT.

It must be clear to everyone that PHP is updated to the latest version and the maintainer packages are overwritten.

1. Bring system up to date


Code
  1. apt-get update
  2. apt-get upgrade

2. Add Sury.org to the source.list

Code
  1. apt-get install apt-transport-https lsb-release ca-certificates
  2. add-apt-repository ppa:ondrej/php
  3. apt-get update
  4. apt-get upgrade


3. Install PHP versions

As of PHP 7.2, the "php-mycrpt" package is no longer available



PHP 5.6:

Code
  1. 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

Code
  1. 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

Code
  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

Code
  1. 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

Code
  1. 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


4. Reset PHP to default in Ubuntu

By installing the new PHP packages, the default PHP version in Debian has been changed to the latest PHP version. This can cause problems with some applications, so we reset it to default.



For Ubuntu 18.04 we choose: PHP 7.2



DO BOTH commands and set BOTH to DEFAULT:

Code
  1. update-alternatives --config php
  2. update-alternatives --config php-cgi

5. Setup in ispconfig3

We log in with an ADMIN account in ispconfig.



Then we navigate to:




There we add by adding: "Add new PHP version", one after the other:


PHP 5.6


Tab "Name"
Server: Select the server here

Name: Give a name here


Tab "FastCGI Settings"

Path to PHP FastCGI Binary: php5.6-cgi

Path to the php.ini directory: /etc/php/5.6/cgi/php.ini


Tab "FPM Settings"

Path to PHP-FPM init Script: php5.6-fpm

Path of the php.ini directory: /etc/php/5.6/fpm/php.ini

Path to PHP-FPM Pool Directory: /etc/php/5.6/fpm/pool.d



PHP 7.0


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



PHP 7.1


Tab "Name"
Server: Select the server here
Name: Give a name here

Tab "FastCGI Settings"

Path to PHP FastCGI Binary: php7.1-cgi

Path to the php.ini directory: /etc/php/7.1/cgi/php.ini


Tab "FPM Settings"

Path to PHP-FPM init Script: php7.1-fpm

Path of the php.ini directory: /etc/php/7.1/fpm/php.ini

Path to PHP-FPM Pool Directory: /etc/php/7.1/fpm/pool.d



PHP 7.2


Tab "Name"
Server: Select the server here
Name: Give a name here

Tab "FastCGI Settings"

Path to PHP FastCGI Binary: php7.2-cgi

Path to the php.ini directory: /etc/php/7.2/cgi/php.ini


Tab "FPM Settings"

Path to PHP-FPM init Script: php7.2-fpm

Path of the php.ini directory: /etc/php/7.2/fpm/php.ini

Path to PHP-FPM Pool Directory: /etc/php/7.2/fpm/pool.d



PHP 7.3


Tab "Name"
Server: Select the server here
Name: Give a name here

Tab "FastCGI Settings"

Path to PHP FastCGI Binary: php7.3-cgi

Path to the php.ini directory: /etc/php/7.3/cgi/php.ini


Tab "FPM Settings"

Path to PHP-FPM init script: php7.3-fpm

Path of the php.ini directory: /etc/php/7.3/fpm/php.ini

Path to PHP-FPM Pool Directory: /etc/php/7.3/fpm/pool.d


Thus, all versions are registered in ispconfig and can be used individually from now on.

6. Restarts of services

Now all services are being restarted:



Code
  1. systemctl restart php5.6-fpm
  2. systemctl restart php7.0-fpm
  3. systemctl restart php7.1-fpm
  4. systemctl restart php7.2-fpm
  5. systemctl restart php7.3-fpm
  6. systemctl restart apache2


If you liked the tutorial, give me a coffee (top right).

    Comments 1

    • Hello,


      Thank you very much for this very usefull tutorial.


      Do you think it will works also with Ubuntu 16.04 and ISPC 3?


      Carlo