Content

Multiple PHP Versions

DirectAdmin has support for running two PHP versions alongside each other. Currently, the most popular combination is PHP 5.6 and 7.0. This way, you can support both legacy software as well as very new and up-to-date software.

In this tutorial, we will be using CustomBuild to run two PHP versions.

Prior to following this tutorial, you will need to make sure you are running CustomBuild 2.0. If this is not the case, please verify and update if needed. A step-by-step guide of how to do this can be found here.

Note: PHP 7 is only supported by DirectAdmin 1.50.1 and newer.

Step 1: Altering the CustomBuild configuration

There are two ways to alter the CustomBuild configuration: directly modifying the options.conf file or using the command line. In this guide, we will be using the command line.

In order to set the two PHP versions 5.6 and 7.0, first navigate to the CustomBuild folder:

cd /usr/local/directadmin/custombuild

Step 2: Setting the PHP versions

Next, run the following commands in order to set the versions:

./build set php1_mode php-fpm
./build set php2_mode php-fpm
./build set php1_release 7.0
./build set php2_release 5.6

Note: Using the above example, both PHP versions will be run in php-fpm mode. This is required if you are using an Nginx and Apache reverse proxy. If you are not using a reverse proxy, you can change the PHP mode if needed.

Using PHP versions older than 5.6 is strongly discouraged as they have all reached their end of life (EOL), thus and no longer updated or maintained. As such, it is recommended that you use PHP 7 whenever possible, and use 5.6 purely for being able to temporarily support legacy applications.

Open the options.conf file:

cd /usr/local/directadmin/custombuild
vi options.conf

Verify the first few lines match or occur at least once throughout the file:

php1_release=7.0
php1_mode=php-fpm
php2_release=5.6
php2_mode=php-fpm

If not, please rerun the commands above.

Step 3: Recompiling PHP

Recompile PHP and rewrite the configurations:

./build php n
./build rewrite_confs

This can take a long time, please don’t interrupt the process. It is perhaps best if you ran the commands in a screen session, and detach while the process is running in case your SSH session gets disconnected or interrupted.

Step 4: Setting the PHP versions

See our guide “PHP Selector“.

Source

This article was written by: Alentejo Hosting.

Was this article helpful to you?

Leave a Reply