Composer with a custom PHP version installed on Plesk

How to use correctly composer with a custom PHP version installed on Plesk

With a Plesk based server, the default installation of composer will use the System installed PHP version, not any of the installed by Plesk. Although Composer requires at least PHP 5.3.2+, the problem comes out when you try to install dependencies in a project that requires a specific version of PHP. For example, if you have a project that needs at least PHP 7.2 and your default PHP installation of your system is PHP 7.1, then the warning of composer that says that your system doesn’t satisfies all the dependencies because you are running composer with PHP 7.1, but you need PHP 7.2. This is very problematic, knowing that you have as well PHP 7.2 installed with Plesk !

Normally, every developer would be able to run the commands from the command line using the PHP version of the system with the following commands

#For example install dependencies
composer install

# Or update them 
composer update

However, if you are working in a Plesk server and you need to run composer with another version, you will need to follow some extra steps in order to run it without any issue.

Running composer with another Plesk PHP version

As first you need to know which PHP versions are installed on your Plesk based server, so run the following command to retrieve a short review about all the versions:

plesk bin php_handler --list

This will generate an output similar to:

In this server we have multiple PHP versions, whose paths are:


So now that you know which PHP versions are available, you can run the  composer.phar  file from the command line using the binary. Before you need to know however which is the  composer.phar    location in Plesk. According to the architecture of your System, you will find the file at:

# For 32-bits systems
# For 64-bits systems

After knowing this 2 factors, you can now run the composer commands using the following trick. Just cast the PHP Cli binary and provide as second argument the file to run that in this case is the composer.phar  file, then add the instructions that you would normally use:

/opt/plesk/php/<PHP VERSION>/bin/php /usr/lib/plesk-9.0/composer.phar [options] [arguments]

For example with the most common tasks:

# Running "composer install" with PHP 7.2
/opt/plesk/php/7.2/bin/php /usr/lib/plesk-9.0/composer.phar install

# Running "composer update" with PHP 5.6
/opt/plesk/php/5.6/bin/php /usr/lib/plesk-9.0/composer.phar update



If you need any help contact our support, Open support ticket from client area

Was this article helpful?

Related Articles