Site icon DesignLinux

How to Install and Use PHP Composer on CentOS 8

How to Install and Use PHP Composer on CentOS 8

Composer is a popular dependency manager for PHP. Using Composer you can install, update and pull in all the required PHP packages to your project directory. At the time of installing package, composer will check for dependencies of package and if dependent package are there then it will also install dependencies. In this tutorial, we show you how to install and use Composer on CentOS 8.

Prerequisites

Installing Composer on CentOS

Follow the below steps to install Composer on your CentOS 8 system:

01. Install the PHP CLI packages and other dependencies with:

sudo dnf install php-cli php-json php-zip wget unzip

02. Download the Composer installer script:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

File composer-setup.php will be downloaded to current working directory.

03. Verify the data integrity.

Check the data integrity of the script by comparing the script SHA-384 hash on the Composer Signatures page.

Here, we are going to use wget command to download the signature of the latest Composer installer and will store it in HASH variable as given below:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

Now issue the below command to check that the installation script is not corrupted:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

You will get following output if the hashes match:

Installer verified

If the hashes don’t match you will see output like Installer corrupt. If this is case you have to download composer installation script again and check hash value until you get Installer Verified output.

04. Next, issue the following command to install Composer globally inside /usr/local/bin directory:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

It will show you output as below:

All settings correct for using Composer
Downloading…
Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

That’s it. Composer is installed as a system-wide and it will be available for all users.

05. Verify the installation by checking version, type:

composer -V

The above command will print details as following:

Composer version 1.10.1 2020-05-23 10:12:12

Use Composer in PHP Project

At this step, Composer is installed globally on your CentOS system and we will show how to use in your php project.

First of all, you have to create a directory which should project root directory. Create directory my-project as a root directory of your project and navigate into it.

sudo mkdir my-project
cd my-project

The next step is to initialize a new composer.json using the composer require command and specify the package we want to download.

In this example, we will create a sample application to print the current time using carbon package.

Execute the below command to initialize a new composer.json and install the carbon package:

composer require nesbot/carbon

After complete the installation you can see that Composer created two files composer.json and composer.lock, and a vendor directory.

ls -l
-rw-rw-r--. 1 tecnstuff tecnstuff 60 May 27 14:15 composer.json
-rw-rw-r--. 1 tecnstuff tecnstuff 11135 May 27 14:16 composer.lock
drwxrwxr-x. 6 tecnstuff tecnstuff 82 May 27 14:16 vendor

Now, you have installed carbon package, create a new file named test.php and paste the following code inside the file. It will prints the current time.

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

Run above script by typing:

php test.php

The output should look like this:

Now: 2020-05-23 13:38:52

After that, if you want to update the package then you can use following command:

composer update

Conclusion

You have successfully learned how to install Composer on your CentOS 8 system. This article also shows you how to use Composer to create a simple PHP project.

You can get more information about Composer visit the official Composer documentation page.

If you have any question or suggestion please leave comment below.

Exit mobile version