How to Install Composer with PHP

Updated on 22 May, 2025
How to Install Composer with PHP header image

Composer is the standard tool for managing PHP dependencies. It automates library installation, enforces version constraints, and helps organize autoloading, making it an essential part of modern PHP development. Whether you're building with frameworks like Laravel, Symfony, or Slim, Composer ensures consistency across environments and simplifies dependency resolution.

This article explains how to install Composer with a specific PHP version on a Linux system. This setup is useful when working across multiple PHP projects or servers that require different runtime versions. You'll learn how to install Composer safely, bind it to a specific PHP version such as PHP 8.4, and create reusable aliases for scripting or interactive use.

Prerequisites

Before you begin, ensure you have:

Install PHP

Install PHP, the command-line interface (CLI), and required tools such as curl and unzip using your distribution's package manager.

Install PHP on Ubuntu and Debian

Run the following command to install the default PHP version and required utilities on APT-based systems.

console
$ sudo apt install -y php php-cli curl unzip

To install a specific PHP version (such as 8.3 or 8.4), add a third-party repository:

These repositories provide maintained versions of PHP not available in the default APT sources.

Install Composer Using a Specific PHP Version

Note
This article uses PHP 8.4 as the example version. On DNF-based distributions (like Rocky Linux or AlmaLinux), the system uses php as the command unless update-alternatives is configured. If php8.4 doesn't work, use php instead.

Follow these steps to install Composer using PHP 8.4.

  1. Download the Composer installer using PHP 8.4.

    console
    $ php8.4 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    
  2. Get the installer signature. This ensures the installer is authentic and has not been tampered with.

    console
    $ curl -s https://composer.github.io/installer.sig
    

    Copy the hash from the output. You’ll need it for verification in the next step.

  3. Verify the installer. Replace your_hash_here with the hash you copied:

    console
    $ php8.4 -r "if (hash_file('sha384', 'composer-setup.php') === 'your_hash_here') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    

    Output.

    Installer verified
  4. Run the Composer installer using PHP 8.4 and install it system-wide.

    console
    $ sudo php8.4 composer-setup.php --install-dir=/usr/local/bin --filename=composer
    

    Output.

    All settings correct for using Composer
    Downloading…
    
    Composer (version 2.8.8) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer
  5. Clean up the installer file.

    console
    $ rm composer-setup.php
    
  6. Verify the Composer installation.

    console
    $ composer
    

    Output.

        ______
       / ____/___  ____ ___  ____  ____  ________  _____
      / /    / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
     / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
     \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                         /_/
    Composer version 2.8.8 2025-04-04 16:56:46

Run Composer with a Specific PHP Version

To run Composer with a specific PHP version (like PHP 8.4), follow these steps to configure your environment.

  1. Confirm the path of the PHP 8.4 binary.

    console
    $ which php8.4
    

    Output.

    /usr/bin/php8.4
  2. Run Composer using the PHP 8.4 binary.

    console
    $ php8.4 /usr/local/bin/composer
    
  3. Create an alias so composer always runs with PHP 8.4. (Optional)

    console
    $ echo 'alias composer="php8.4 /usr/local/bin/composer"' >> ~/.bashrc
    

    For portability in scripts or cron jobs, consider using a shebang like #!/usr/bin/env php instead of hardcoding a version path.

  4. Reload your shell configuration to apply the alias.

    console
    $ source ~/.bashrc
    

    If you're using the Zsh, replace ~/.bashrc with ~/.zshrc.

  5. Verify that Composer now runs with PHP 8.4.

    console
    $ composer --version
    

    Output.

    Composer version 2.8.8 2025-04-04 16:56:46
    PHP version 8.4.0 (/usr/bin/php8.4)
    Run the "diagnose" command to get more detailed diagnostics output.

For managing multiple Composer versions or isolating global dependencies per PHP version, consider tools like cgr, composer-bin, or asdf.

Conclusion

In this article, you installed Composer on a Linux system and configured it to run with a specific PHP version such as PHP 8.4. You learned how to safely verify the installer, install Composer system-wide, and run it using the correct PHP binary. You also created a reusable alias for convenience and confirmed that Composer works by initializing a basic project.

With this setup, you're now equipped to manage dependencies across multiple PHP projects with varying version requirements. For advanced use cases, such as global tool isolation or multi-version workflows, consider tools like cgr, composer-bin, or asdf.

To learn more, visit the official Composer documentation.