How to Install PHP Composer in Linux [Ubuntu,Debian,CentOS]
Composer is a command line tool for dependency management in PHP, which facilitates the installation and updating of dependencies and PHP packages required by your project. Dependencies are packages or libraries that have already been created by developers and do not need to be rewritten.
For convenience and to reduce coding time, other developers can use these dependencies for free. Composer is the same tool that standardizes the management of external resources, downloading and updating packages, etc., and using this approach, managing your project will be much easier.
PHP has various frameworks, the PHP Composer tool allows the use of PHP packages in PHP frameworks such as Laravel, Symfony, Drupal, and Magento 2 to start new projects.
Considering the great functionality of PHP Composer, in this article, we decided to teach how to install PHP Composer in popular Linux distributions (Debian, Ubuntu, and CentOS). Therefore, do not neglect to read this comprehensive article. Before starting the PHP Composer installation process, consider its installation prerequisites.
prerequisite
To install PHP Composer on Ubuntu, Debian and CentOS, you need a Linux VPS with Ubuntu, Debian, and CentOS operating systems. Also, to execute the instructions for installing PHP Composer, you must have a user account with sudo permission, and after accessing the Linux terminal(by pressing the CTRL+ALT+T buttons at the same time), you will be ready to install PHP Composer in Linux.
Steps to install PHP Composer on Ubuntu
We will start with the tutorial on how to install PHP Composer on Ubuntu 22.04. For those users who use Ubuntu Linux, we will provide instructions for installing PHP Composer in Ubuntu. Follow the steps to install PHP Composer on Ubuntu.
Note that installing PHP on Ubuntu is a prerequisite for using PHP Composer, so if you have not yet installed it on your Ubuntu system, do as soon as possible by referring to the article on how to install Lamp on Ubuntu.
1. Updating the Ubuntu system repository
The first step for installing any software in Linux is to update the Linux operating system packages. For this purpose, run the following command:
sudo apt update
2. Installing PHP Composer packages
Install the required PHP Composer packages by running the following command:
sudo apt install php-cli unzip
After executing the previous command, you will be asked if you want to continue the installation process; so select the Y button and then press Enter to complete the installation process of the PHP Composer packages.
3. Downloading the PHP Composer installer script
In order to install PHP Composer, we need to install its installer script, so enter the following command:
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
Then you need to verify the Hash of the PHP Composer installer script you downloaded through the signatures on the official page:
HASH=`curl -sS https://composer.github.io/installer.sig`
Then enter the following command to confirm the correct execution of PHP Composer:
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Output:
Installer verified
4. Installing PHP Composer
Finally, we reach the phase of installing PHP Composer. Just run the command we mentioned:
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
Output:
All settings correct for using composer
Downloading…
Composer (version 2.3.7) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
As you can see, the output shows the successful installation of PHP Composer version 2.3.7 in Ubuntu.
5. Checking the installation of PHP Composer
After installing PHP Composer, you can run the following command to ensure that the installation process is successful:
composer
Output:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.3.5 2022-04-13 16:43:00
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
--no-scripts Skips the execution of all scripts defined in composer.json file.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
. . .
Getting the above output indicates the successful installation of PHP Composer in Ubuntu. Congratulations, you have successfully installed PHP Composer on Ubuntu.
Steps to install PHP Composer in Debian
In this part of the article, we will learn how to install PHP Composer in Debian 10. Debian users can benefit from the wonderful features of PHP Composer by following the instructions for installing PHP Composer in this part of the article.
1. Updating Debian system packages
First, update the installed Debian system packages using the following command:
sudo apt update
You can also run the following command to upgrade the Debian system repository:
sudo apt upgrade
2. Installing the required packages for PHP Composer
After upgrading the Debian system repository, install the necessary packages to install PHP Composer by typing the following command:
sudo apt install php-cli wget unzip php-zip
Out Put:
Reading package lists… Done
Building dependency tree
Reading state information… Done
unzip is already the newest version (6.0-23+deb10u2).
unzip set to manually installed.
wget is already the newest version (1.20.1-1.1).
The following additional package will be installed:
Libzip4 php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline php7.3-zip
Suggested packages:
Php-pear
The following NEW packages will be installed:
Libzip4 php-cli php-common php-zip php7.3-cli php7.3-common php7.3json php7.3-opcache php7.3-readline php7.3-zip
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,688 KB of archives.
After this operation, 12.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
After confirming the request to continue the process of installing the necessary packages by selecting the Y option and then pressing the Enter button, the installation of the packages is completed.
3. Downloading the Composer installer
Then, by running the mentioned command, download the Composer installer written in PHP language:
wget -O composer-setup.php https://getcomposer.org/installer
4. Installing composer in Debian
Now that you have downloaded the composer installer, it is time to install the composer. In Debian, you can install composer in two ways:
Install Composer locally
If you install the composer in the project directory, it will be installed locally. So in the Root directory, download the Composer file through the following command:
sudo php composer-setup.php --install-dir=/project_directory
Then move to the project’s directory and run the following command to use PHP Composer in the project directory:
sudo php composer.phar
Install Composer globally
In this method, you will install the composer file in /usr/local/bin directory. The command you will enter will be as follows:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
To use PHP Composer, you must run the following command:
sudo composer
Output:
Do not run Composer as Root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]?
Getting this error is because Composer is not running with Root user permission and you are asked to run Composer as a Root user and type YES to confirm.
5. Updating the PHP Composer version
To update the version of PHP Composer to the latest version in Debian, you can use the following command:
sudo composer self-update
Debian users were able to successfully install PHP Composer on Debian and get what they wanted.
Steps to install PHP Composer on CentOS
Finally, it was time to install PHP Composer on CentOS7, which is the most popular Linux distribution. This section is for users who use CentOS7 and are interested in using PHP Composer features in CentOS7.
Note: Make sure to install PHP 7 on your CentOS 7 system before running the instructions for installing PHP Composer on CentOS 7. (The tutorial article on how to install a lamp on CentOS can be a good guide for installing PHP on CentOS.)
1. Installing PHP CLI packages and dependencies
In the first step, install PHP CLI dependencies and packages using the following command:
sudo yum install php-cli php-zip wget unzip
2. Downloading the PHP Composer installer script
Then you need to download the Composer setup and installer script:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
3. Checking the accuracy of script data
After downloading the composer-setup.php file in the current directory, check the Composer Public Keys/Signatures page to make sure the script data is correct by matching the SHA-384 Hash of the script with the latest Hash of the available installer.
Then by running the following command, download the signature of the latest Composer installer from Composer’s official Github page and save it in a variable (under the title HASH):
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
To make sure the installation script is executed correctly, run the following command:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
If the script data and hashes match each other, the output of the previous command will be presented as follows:
Output:
Installer verified
In most cases, the Hashs match each other, but if this does not happen, it means there is a defect. So you have to repeat the same steps; That is, download the installation script and check the compatibility of $HASH variables with echo $HASH, and after making sure that the script data is correct, continue with the PHP Composer installation process.
4. Installing PHP Composer on CentOS7
Finally, it’s time to install PHP Composr on CentOS7 and you can install PHP Composer in the/usr/local/bin directory by entering the following command:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Out Put:
All settings correct for using Composer
Downloading...
Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Congratulations, you have successfully installed PHP Composer on CentOS7.
5. Confirm the installation of PHP Composer on CentOS7
To check if PHP Composer is properly running and installed on CentOS7, the following command is used:
composer
Out Put:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.8.5 2019-04-09 17:46:47
Usage:
command [options] [arguments]
By viewing the version of PHP Composer, you can be sure of its installation and execution in CentOS7.
How to use PHP Composer in Ubuntu, Debian, and CentOS
The necessary commands to use PHPComposer after installation on Ubuntu, Debian, and CentOS operating systems are similar to each other. In this section, we will mention some useful commands of PHP Composer in Ubuntu, Debian, and CentOS so that Linux users can easily interact with Composer and can use PHP Composer efficiently in PHP projects.
Creating the Root directory for the project and Switching to it
The first thing you need to do to use PHP Composer is to create a directory with the desired name, which we named “new composer” for example:
mkdir ~/ newcomposer
Then use thecd
command to move to the newly created directory:
cd ~/ newcomposer
Installation of required packages
To install the required packages for your project using PHP Composer, the main syntax is as follows:
composer require <package name>
So, to install “cocur/new composer”, run the following command:
composer require cocur/ newcomposer:4.1
Note: If you receive the error ” Your requirements could not be resolved to an installable set of packages “after executing the previous command, it means your system does not support the mbstring library. To solve this problem, install the mbstring library on your Linux system by running the following command:
sudo apt install php-mbstring
Then enter the “composer require
” command again:
composer require cocur/ newcomposer
In the output of the composer require command, the composer.json file is created and the required packages and their dependencies are downloaded.
You can access the contents of the “composer.json” file using thecat
command to get complete information about the installed packages:
cat composer.json
Removing the packages
The remove command is executed to remove the desired package:
composer remove cocur/ newcomposer
Listing files
To list the contents of your PHP project’s “new composer” directory, run the following command:
ls -l
Output:
-rw-r--r-- 1 linuxize users 60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 vendor
As you can see, composer.json and composer.lock files and vendor directory are created in the output of thels -l
command.
composer.json file: contains dependencies and PHP packages.
composer.lock file: provides a list of installed packages along with their versions.
Vendor directory: contains your project’s dependencies.
Using the autoload feature in Composer
By using the autoload function, it is possible to use PHP classes without the need to executerequire
orinclude
.
For example, first, we open a new file called “test.php” using the nano editor to create a test program:
sudo nano test.php
After accessing the content of the file, add the following codes to it and press CTRL+O to save the added content in the file:
<?php
require __DIR__ . '/vendor/autoload.php';
use Cocur\ newcomposer \ newcomposer;
$ newcomposer = newcomposer ();
echo $ newcomposer -> newcomposer ('HI everyone, this is opera');
Running PHP script
Enter the following command to run the test.php script:
php test.php
Updating PHP packages
To update PHP packages to the latest packages, run the following command:
composer update
How to uninstall PHP Composer on Ubuntu, Debian, and CentOS
Uninstalling PHP composer in Linux is very simple, by executing the command we provided, you can uninstall it in situations where you don’t need PHP Composer:
sudo rm /usr/local/bin/composer
FAQ
How to make sure Composer is installed in Linux?
TheComposer
command will ensure you install Composer on Linux by providing the Composer version and usage guide.
If you get the "bash: composer: command not found" error by running the Composer command, it means that Composer is not installed on your Linux system.
In which Linux directory should Composer be installed?
Composer is usually installed in the /usr/local/bin directory, and the command used to install it is as follows:
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
What does the composer do?
Composer is a PHP package management tool that simplifies the process of installing and updating PHP packages.
Developers use Composer to store their project dependencies in a file called composer. json file and then Composer automatically performs its management tasks. It also causes only program code to be placed in your git repository.
Conclusion
In this article, we taught how to install PHP composer in Ubuntu, Debian, and CentOS, which are popular and famous Linux distributions. In addition, we introduced you to helpful instructions for using PHP Composer in new PHP projects and even learned how to uninstall PHP Composer. We tried to provide a comprehensive article for Linux users to answer all possible questions about how to install and use PHP Composer; In this article, your needs are met and you don’t have to look for another article to find your answers.
We hope that we have been able to fully guide you in installing and using PHP Composer.
Thank you for your choice.