How do I use PHP Composer?
Composer is a powerful dependency management tool for PHP, allowing you to install and manage libraries easily. This guide explains how to use Composer, whether through a SSH (shell access) or a PHP script.
If you have SSH/Terminal access through a Business or Reseller package, you can directly run Composer commands in the terminal.
Open Terminal / SSH Session:
cPanel -> Advanced -> Terminal
or connect via SSH using your username
Navigate to your application directory, eg
Run Composer Commands:
For example, to install dependencies from composer.json:
For further commands and options, refer to the list of commands below.
If shell access is unavailable, you can run Composer commands using a PHP script.
Example PHP script:
Save the following code in a .php file (e.g., composer_run.php)
Create the composer_run.php file
Save the script in your project directory, alongside your composer.json file.
Adjust "composer install" command as required, refer to the list of commands below.
Access the Script
Visit the script in your browser, e.g., https://exampledomain.co.za/my_php_app/composer_run.php
Verify the output
The script will display the output of the composer install command. Check for any errors and ensure the vendor directory is created.
To install dependencies from composer.json:
To add a new package (e.g., monolog/monolog):
To update all dependencies:
If you receive a message similar to "Your Composer dependencies require a PHP version ">= 8.1.0"
This indicates that the current PHP version does not meet the requirements specified in your project's composer.json file. To resolve this issue, you will need to update the PHP version set for your account.
Please refer to the following article for detailed instructions: How do I set the PHP version, extensions, and options in cPanel?
Option 1: Using Composer with Shell Access
If you have SSH/Terminal access through a Business or Reseller package, you can directly run Composer commands in the terminal.
Open Terminal / SSH Session:
cPanel -> Advanced -> Terminal
or connect via SSH using your username
Navigate to your application directory, eg
cd /home/username/public_html/my_php_app
Run Composer Commands:
For example, to install dependencies from composer.json:
composer install
For further commands and options, refer to the list of commands below.
Option 2: Using Composer via PHP Script
If shell access is unavailable, you can run Composer commands using a PHP script.
Example PHP script:
Save the following code in a .php file (e.g., composer_run.php)
<?php
// Set the COMPOSER_HOME environment variable
putenv('COMPOSER_HOME=' . getenv('HOME') . '/.composer');
// Run the Composer command
$output = shell_exec('/opt/cpanel/composer/bin/composer install 2>&1');
// Display the output
echo "<pre>$output</pre>";
Create the composer_run.php file
Save the script in your project directory, alongside your composer.json file.
Adjust "composer install" command as required, refer to the list of commands below.
Access the Script
Visit the script in your browser, e.g., https://exampledomain.co.za/my_php_app/composer_run.php
Verify the output
The script will display the output of the composer install command. Check for any errors and ensure the vendor directory is created.
Composer Commands
To install dependencies from composer.json:
composer install
To add a new package (e.g., monolog/monolog):
composer require monolog/monolog
To update all dependencies:
composer update
Troubleshooting
If you receive a message similar to "Your Composer dependencies require a PHP version ">= 8.1.0"
This indicates that the current PHP version does not meet the requirements specified in your project's composer.json file. To resolve this issue, you will need to update the PHP version set for your account.
Please refer to the following article for detailed instructions: How do I set the PHP version, extensions, and options in cPanel?
Updated on: 21/11/2024
Thank you!