Question
How to add a custom PHP versions in Plesk running on Ubuntu 20 or 22?
How to add a custom PHP versions in Plesk running on Debian 10 or 11?
Answer
Warning: All the instructions below are to be performed at your own will and risk. These steps are provided for demonstration purposes only and are not supported by Plesk. Depending on the operating system and the desired configuration, installation steps might differ significantly. When installing a different PHP version on the server, read the official PHP documentation on installation. It's recommended to perform the installation in a test environment before modifying the production environment.
On Linux systems, custom PHP version can be installed and make it available in Plesk by registering these with plesk bin php_handler
command-line utility. Follow the steps depending on the OS as follows:
Ubuntu server
-
Connect to the server via SSH
-
Install the software-properties-common package to manage repositories:
# apt-get install software-properties-common
-
Add PPA repository:
# add-apt-repository ppa:ondrej/php
-
Install PHP 7.2:
# apt -y install php7.2
-
Install necessary PHP modules, here's an example:
# apt install -y php7.2-{bcmath,bz2,cli,common,curl,dev,fpm,gd,gmp,imagick,imap,intl,json,mbstring,mysql,opcache,soap,ssh2,xml,xmlrpc,zip}
-
Register PHP handler in Plesk:
# plesk bin php_handler --add -displayname php72-fpm-custom -path /usr/sbin/php-fpm7.2 -phpini /etc/php/7.2/fpm/php.ini -type fpm -id php72-fpm-custom -clipath /usr/bin/php -service php7.2-fpm -poold /etc/php/7.2/fpm/pool.d
Debian server
-
Connect to the server via SSH
-
Install the software needed to manage repositories:
# apt install ca-certificates apt-transport-https -y
-
Add the needed GPG key for the repository:
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-
Add the repository URL to a separate APT sources list file:
# sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" >> /etc/apt/sources.list.d/php_custom.list'
-
Refresh the APT sources
# apt update
-
Install PHP 7.2:
# apt -y install php7.2
-
Install necessary PHP modules, here's an example:
# apt install -y php7.2-{bcmath,bz2,cli,common,curl,dev,fpm,gd,gmp,imagick,imap,intl,json,mbstring,mysql,opcache,soap,ssh2,xml,xmlrpc,zip}
-
Register PHP handler in Plesk:
# plesk bin php_handler --add -displayname php72-fpm-custom -path /usr/sbin/php-fpm7.2 -phpini /etc/php/7.2/fpm/php.ini -type fpm -id php72-fpm-custom -clipath /usr/bin/php7.2 -service php7.2-fpm -poold /etc/php/7.2/fpm/pool.d
Note: The same steps can be used starting from PHP 5.6, adjust the version number in the commands accordingly.
Additional Information
How to add a custom PHP version in Plesk for Linux?
Official Plesk documentation: Adding Custom PHP Versions (Linux)